【发布时间】:2022-08-10 15:32:35
【问题描述】:
我正在尝试找到如何按星期几分组,以及在 Druid 中按小时分组。我在这里依赖 Druid 文档:https://druid.apache.org/docs/latest/querying/sql.html,以下所有功能均来自此页面。
我知道Druid有一个函数TIME_SHIFT(<timestamp_expr>, <period>, <step>, [<timezone>])可以根据ISO8601标准中的时间段对时间戳进行四舍五入,然后我们可以通过四舍五入的时间戳进行分组,从而实现我们想要的按天时间段进行分组。
- 但是,如果我想按星期几分组,以便汇总一段时间内所有星期一、星期二、星期三、...、星期日收到的所有销售收入,该怎么办?我知道有一个
TIME_EXTRACT(<timestamp_expr>, [<unit>, [<timezone>]])函数,我可以通过使用这个函数和= DOW(星期几)将每个时间戳转换为一个数字(1到7)然后按每个分组来实现我想要的的提取值。那是对的吗? - 如果我想按小时分组怎么办?我在本手册中没有看到单位“一天中的小时”。
先感谢您!
编辑: 它似乎正在工作;但是,有没有办法让它打印出星期一、星期二、星期三……而不是 1-7 的数字?我想我可能可以在选择块中手动进行某种类型的转换,但我想知道是否有更好的方法?再次感谢!
-
不会 TIME_EXTRACT(<timestamp_expr>, HOUR) 那样做吗?
-
@tinazmu 哦,这实际上是有道理的......我会尝试并报告。谢谢!
-
它似乎正在工作;但是,有没有办法让它打印出星期一、星期二、星期三……而不是 1-7 的数字?再次感谢!