Mysql,显示超过 2 分钟的 Timediff 结果

标签 mysql

我喜欢只显示 TIMEDIFF 超过 2 分钟的结果

表:

dt                   session_id
2016-11-15 11:25:00  1
2016-11-15 11:21:04  1
2016-11-15 11:20:00  1
2016-11-15 09:37:00  2
2016-11-15 09:27:00  2
2016-11-14 21:37:00  3
2016-11-14 21:33:35  3
2016-11-14 21:31:00  3
2016-11-14 16:05:00  4
2016-11-14 16:04:35  4
2016-11-14 10:31:25  5
2016-11-14 10:31:00  5

我的查询:

SELECT 

    MIN(dt) Start,
    MAX(dt) End,
    TIMEDIFF(MAX(dt),MIN(dt)) as sessionTime,

FROM table
WHERE sessionTime > "00:02:00"
GROUP BY session_id

此查询没有给出任何结果。

这就是我喜欢的结果:

Start                 End                   sessionTime
2016-11-15 11:20:00   2016-11-15 11:25:00   00:05:00
2016-11-15 09:27:00   2016-11-15 09:37:00   00:10:00
2016-11-14 21:31:00   2016-11-14 21:37:00   00:06:00

最佳答案

SELECT session_id

    MIN(dt) Start,
    MAX(dt) End,
    TIMEDIFF(MAX(dt),MIN(dt)) as sessionTime

FROM table
GROUP BY session_id
Having sessionTime > "00:02:00"

关于Mysql,显示超过 2 分钟的 Timediff 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40626789/

相关文章:

php - 无需 cron 自动执行 MySQL 查询或 PHP 脚本

java - 如何使用java和jdbc和sql成功访问另一台电脑上的数据库?

mysql - 如何高效地记录日期时间以供分析?

mysql - 按顺序保存MySQL数据

php - 找不到数据库?

php - 单个准备好的语句占位符不起作用

mysql - 无法导入 MYSQL 函数 - 错误 1064 (42000)

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'nombre' in 'field list' ERROR?

php - 如何从 MySql Query 提供的经纬度获取半径内的所有结果

mysql - sequelize 在数据库(MySql)中发布 NULL