presto - Presto - 如何使用 date_trunc() 函数过滤从当年开始的记录?
问题描述
想知道如何过滤自今年年初以来的记录?
我的查询如下:
SELECT date_id, item_id, product_name, product_price, sum(order*product_price) as revenue
FROM sales_table
WHERE year(date_id) >= date_trunc('year', current_date)
执行此代码时,“年份”出现错误。
有人可以建议吗?非常感谢!
解决方案
您的方法是正确的,除了date_trunc
返回日期而不是年份编号:
presto:tiny> SELECT date_trunc('year', current_date);
_col0
------------
2020-01-01
假设date_id
是date
数据类型,您的查询将是:
SELECT * FROM sales_table WHERE date_id >= date_trunc('year', current_date);
推荐阅读
- mysql - MySQL在过程中多次调用timestamp()产生相同的结果
- python - 远程访问 Flask 应用程序,而不仅仅是从 127.0.0.1
- javascript - 如何在android studio中运行我的react native项目时修复“Task:app:installDebug FAILED”错误?
- php - 如何创建多维数组?
- aws-appsync - 在我的 AWS AppSync 请求解析器中。我想返回一个具有一些属性和空数组作为值的对象
- ruby - 无法解析枪支和弹药类型列表以排列和显示结果
- bash - bash syntax for regular expression
- c - execv 到 .c prog 使用相同的管道
- php - php搜索html表单变量名显示在web url上
- r - R Studio 中的 ROAuth 过程中没有 PIN