按星期几和一天中的小时划分的德鲁伊组
Druid Group by Day of Week and Hour of Day
我正在尝试找到如何按星期几以及 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 的数字?我想我可能可以在 select 块中手动进行某种类型的转换,但我想知道是否有更好的方法?再次感谢!
不会TIME_EXTRACT(<timestamp_expr>, HOUR)
那样做吗?
对于日期的命名,我相信你可以使用:
TIME_FORMAT(<timestamp_expr>, [<pattern>, [<timezone>]])
对于模式,您似乎可以使用 'EEEE'(对于日期名称的全文形式)。
我正在尝试找到如何按星期几以及 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 的数字?我想我可能可以在 select 块中手动进行某种类型的转换,但我想知道是否有更好的方法?再次感谢!
不会TIME_EXTRACT(<timestamp_expr>, HOUR)
那样做吗?
对于日期的命名,我相信你可以使用:
TIME_FORMAT(<timestamp_expr>, [<pattern>, [<timezone>]])
对于模式,您似乎可以使用 'EEEE'(对于日期名称的全文形式)。