SQL计算总行之间的平均时间差
|
我已经搜索了SO,似乎找不到适合我的答案的问题。我有一个表,其中有近200万行,每行都有一个MySQL日期格式的字段。
我想算出插入行的频率(以秒为单位),所以用SQL查询算出所有行的日期之间的平均差。
有任何想法吗?
-编辑-
这是我的桌子的样子
id, name, date (datetime), age, gender
没有找到相关结果
已邀请:
3 个回复
闪票仇门韧
确保行数大于1,否则您将得到除以零的错误。不过,如果您愿意,您可以使用一个简单的技巧来防止错误:
现在,您可以安全地对只有一行的表运行查询。
香腔弥胯瓤
内部查询将每一行与下一行(按日期)连接起来,并返回它们之间的秒数。然后对该查询进行封装,并查询平均秒数。 编辑:如果您的ID列是自动递增的,并且它们按日期顺序排列,则可以通过加入下一个ID行而不是MIN下一个日期来加快它的速度。
EDIT2:正如Mikael Eriksson的精彩评论一样,您也许可以做到:
在我的第一个示例中,可以使用join语法来做很多事情来消除非高峰时间或大范围而无需新的记录。
暑袜眠退