group-by - Hql:如何将时间缩短 30 分钟
问题描述
我需要一个 Hql 查询,它给出按 30 分钟分组的输出时间。我做了很多研究,我只在 Sql 中找到了查询,我尝试了以下几个:
SELECT date_format(`date`, "YYYY-MM-dd hh:00:00.000 aa"),dateadd(minute,(datediff(minute,0,a.dt)/30)*30,0) FROM flux GROUP BY dateadd(minute,(datediff(minute,0,a.dt)/30)*30,0)
它给了我以下错误:
Invalid function dateadd
我也试过这个:
SELECT date_format(`date`, "YYYY-MM-dd hh:00:00.000 aa") FROM flux GROUP BY second(`date`)%('30*60')
但它给了我以下错误:
Error encountered near token ''30*60''
如果您对如何解决我的问题有任何想法,请帮助。
谢谢你 !
解决方案
将其转换为秒并除以 30*60 并使用 group by。
select from_unixtime(round(unix_timestamp(ts)/1800)*1800),count(*) as count_30,
from flux
group by round(unix_timestamp(ts)/1800)
推荐阅读
- java - Cucumber 从命令行运行时找不到 StepDefinitions
- json - 在 Spark Scala 中完成 Dataframe.toJSON 时时间戳格式得到转换
- c# - 使用 lambda 表达式时删除附加的事件处理程序
- php - 如何从多行中提取文本,包括第一个和最后一个单词?
- android - 如何解决无法在 React 本机项目中运行 adb reverse: spawnSync C\:\\Users\\Name\\AppData\\Local\\Android\\Sdk/platform-tools/adb ENOENT?
- openrefine - 替换单元格中的空值
- python - 使用“tf.while_loop”时出现类型错误:“张量”对象不支持项目分配
- c++ - 弦乐算法
- c++ - 如何在不使用命名空间 std 的情况下取消设置 ios::fixed
- xamarin.mac - 尝试使用约束将左元素向右移动,反之亦然。但它缩小了移动元素的主要视图