【发布时间】:2022-01-19 08:55:18
【问题描述】:
我想使用带有 group by 的聚合函数来获得两个不同行之间的平均差异(例如以秒为单位)。
假设我有一张这样的桌子:
id | ts | data
1123 | 2022-01-19 07:15:23 | ...
1124 | 2022-01-19 07:17:28 | ...
1125 | 2022-01-19 07:21:19 | ...
1126 | 2022-01-19 07:21:23 | ...
.
.
.
1227 | 2022-01-19 09:01:04 | ...
首先,我想将其分组,并想计算我们每天有多少行。这很简单:
SELECT DATE(ts), COUNT(data)
FROM table
GROUP BY DATE(ts)
结果如下:
DATE(ts) | COUNT(data)
2022-01-18 | 519
2022-01-19 | 104
但除此之外,我还想知道前一行之间的平均距离(以秒为单位),以便了解插入新数据的频率。所以结果应该是这样的:
DATE(ts) | Average Difference | COUNT(data)
2022-01-18 | 12 | 519
2022-01-19 | 14 | 104
有没有办法使用 SQL 获取此类信息?
【问题讨论】:
-
如果您想要的结果是基于您的样本数据,我会更容易理解。
标签: mysql sql datetime group-by aggregate-functions