This question already has answers here:
MySQL GROUP BY DateTime +/- 3 seconds
(5个答案)
6年前关闭。
我在想一种最有效的方法来计算MySQL表中的特定行。
我的表包含一个名为datetimedate_time列,我想计算每个date_time之间至少有30分钟的行数。
例如,假设我有下表:
id    date_time
1     2013-08-23 00:30:00
2     2013-08-23 00:45:00
3     2013-08-23 01:01:00
4     2013-08-23 02:30:00
5     2013-08-23 02:45:00

如果我只想包含一个条目,如果距离最后一个条目至少有30分钟,那么计数将包括id#1和id#4,因此计数将是2。
我正在尝试一个干净的脚本来完成这个任务,有没有什么特殊的查询可以帮助我完成这个任务?

最佳答案

很简单的解决方案是使用MySQL函数。
http://sqlfiddle.com/#!2/3b793/4
查询

SELECT
  DATE_FORMAT(`datef`, '%i') AS `Fields`,
  `datef`
FROM `dates`
WHERE DATE_FORMAT(`datef`, '%i') = 30

关于php - 仅计算彼此之间30分钟的行? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18414754/

10-11 03:21