You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Presto SQL按小时分组统计impression_id报错求助

修复后的Presto SQL及错误说明

错误分析

你的SQL存在4个关键问题:

  • 别名使用单引号:Presto中标识符(列别名)不能用单引号包裹,单引号仅用于字符串常量,需改用双引号或直接省略引号(若别名是合法标识符)。
  • COUNT函数语法错误:COUNT(impression_id,0)不符合Presto的COUNT函数语法,COUNT仅接受一个参数(或*),无需额外传0。
  • 日期截断逻辑错误:CAST(date_time AS date)会将带时间的字段转为纯日期,丢失小时维度,直接使用原date_time字段做date_trunc即可。
  • GROUP BY字段错误:group by date_trunc('hour', date)中的date是不存在的字段,需与SELECT中的日期表达式保持一致。

修复后的SQL

SELECT
    date_trunc('hour', date_time) AS hour_time,
    COUNT(impression_id) AS impression_count
FROM parquet_db.imp_pixel
GROUP BY date_trunc('hour', date_time)

补充说明

  • date_trunc('hour', date_time)会将date_time截断到小时级别(例如2022-08-27 07:05:48变为2022-08-27 07:00:00)。
  • COUNT(impression_id)会统计非空的impression_id数量,若要统计所有行数(包括impression_id为空的情况),可改用COUNT(*)。
  • 别名hour_time和impression_count是为了更清晰区分原字段,你也可以根据需求调整,比如把hour_time改回date_time(无需引号)。

内容的提问来源于stack exchange,提问作者vizeetor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:45:42