我有一个类似于下面的表。
item_id bill_start_date bill_end_date usage_amount
635212 2019-02-01 00:00:00.000 3/1/2019 00:00:00.000 13.345 user_project
IBM
我试图通过每个月和每个项目找到usage_amount
。Amazon Athena查询引擎基于Presto 0.172。由于雅典娜的局限性,它没有识别出诸如select sysdate from dual;
之类的查询。
我尝试将bill_start_date
和bill_end_date
从时间戳转换为日期,但失败了。在我的情况下,即使current_date()
也无法使用。我能够通过硬编码值来计算总成本,但是我的最终目标是对列执行操作。
SELECT (FLOOR(SUM(usage_amount)*100)/100) AS total,
user_project
FROM test_table
WHERE bill_start_date
BETWEEN date '2019-02-01'
AND date '2019-03-01'
GROUP BY user_project;
在Presto中,current_timestamp
是一个不使用括号的SQL标准函数。
按月分组,我将使用date_trunc('month', bill_start_date)
。
所有这些功能都记录在此处