mysql - 按日期时间范围分组 - MySql
问题描述
好吧,我有一个表,其中有一些列是重复的,但时间不完全相同,我需要做一个分组,范围为 2 小时。
请注意,所有标记为黑色的字段都重复,但 datetime 字段可能会相差几分钟,因此我需要在两个小时的间隔内加入每个人来组成一个组。
它会是这样的:SELECT * FROM tabela GROUP BY sinistro, prefixo, data
AND horaIfull_oco range 2h
而且在结果中,如果可能的话,列必须带有所有的 id ,例如:id1, id2
等
他将加入所有最多相隔两个小时的人。如果有人知道该怎么做,我已经研究过并没有发现任何东西。
解决方案
GROUP BY FLOOR(UNIX_TIMESTAMP(horaIfull_oco) / 7200)
(7200
是 2 小时。)
如果要获取每个组的基准时间:
FROM_UNIXTIME(
FLOOR(UNIX_TIMESTAMP(horaIfull_oco) / 7200)
, 7200)
这种技术可以通过改变来适应任何有规律的时间间隔7200
。
推荐阅读
- python - 试图从定义中的用户输入中总结总成本
- pyarmor - 皮尔莫尔
- reactjs - 在特定 div 中显示 react-bootstrap 模式
- php - 抓取页面时出错,Cloud Flare 保护,cookie
- javascript - 一个基本的 JavaScript 字符串比较问题
- substrate - 基材 - 最终确定为零
- javascript - 实现自动完成下拉菜单不起作用
- kodi - 有没有办法找到我的 Kodi 安装使用的 python 版本?
- javascript - 如何在 Fluent UI 中正确使用 Modal
- python - 如何使用基于类别的分组将数据框导出到 Excel 工作表