首页 > 解决方案 > 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)

执行此代码时,“年份”出现错误。

有人可以建议吗?非常感谢!

标签: presto

解决方案


您的方法是正确的,除了date_trunc返回日期而不是年份编号:

presto:tiny> SELECT date_trunc('year', current_date);
   _col0
------------
 2020-01-01

假设date_iddate数据类型,您的查询将是:

SELECT * FROM sales_table WHERE date_id >= date_trunc('year', current_date);

推荐阅读