mysql - 计算同一字段不同时间之间的最大间隔MYSQL

标签 mysql date datetime intervals calculated-columns

我想知道您是否可以给我一些想法来计算同一字段不同时间之间的最大间隔。

id, npm, nama_mahasiswa, jurusan, fecha_hora
 1, CABRAL, 24, , 2017-08-25 15:27:12    
 2, RUSSO, 6, , 2017-08-25 15:32:10   
 3, CABRAL, 59, , 2017-08-25 15:34:15    
 4, RUSSO, 54, , 2017-08-25 15:38:21    
 5, CABRAL, 28, , 2017-08-25 15:38:47    
 6, FERNANDEZ, 61, , 2017-08-25 15:39:03    
 7, DUARTE, 56, , 2017-08-25 15:40:02    
 8, DUARTE, 47, , 2017-08-25 15:40:29    
 9, RUSSO, 69, , 2017-08-25 15:43:17    
10, CABRAL, 31, , 2017-08-25 15:43:35    
11, FERNANDEZ, 15, , 2017-08-25 15:48:14

例如,对于每个“CABRAL”,我想知道第一到第二、第二到第三和第三到第四的不同时间。一旦我有了这个,我就会采取最大间隔。

我将不胜感激任何帮助。

谢谢!

最佳答案

例如:

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, npm VARCHAR(20) NOT NULL
, jurusan INT NOT NULL
, fecha_hora DATETIME NOT NULL
);

INSERT INTO my_table VALUES
( 1, 'CABRAL'   , 24, '2017-08-25 15:27:12'),
( 2, 'RUSSO'    ,  6, '2017-08-25 15:32:10'),
( 3, 'CABRAL'   , 59, '2017-08-25 15:34:15'),
( 4, 'RUSSO'    , 54, '2017-08-25 15:38:21'),
( 5, 'CABRAL'   , 28, '2017-08-25 15:38:47'),
( 6, 'FERNANDEZ', 61, '2017-08-25 15:39:03'),
( 7, 'DUARTE'   , 56, '2017-08-25 15:40:02'),
( 8, 'DUARTE'   , 47, '2017-08-25 15:40:29'),
( 9, 'RUSSO'    , 69, '2017-08-25 15:43:17'),
(10, 'CABRAL'   , 31, '2017-08-25 15:43:35'),
(11, 'FERNANDEZ', 15, '2017-08-25 15:48:14');

SELECT npm
     , MAX(diff) max_interval 
  FROM 
     ( SELECT x.*
            , TIMEDIFF(x.fecha_hora,MAX(y.fecha_hora)) diff 
         FROM my_table x 
         JOIN my_table y 
           ON y.npm = x.npm 
          AND y.fecha_hora < x.fecha_hora 
        GROUP  
           BY x.npm
            , x.fecha_hora
     ) a 
 GROUP 
    BY npm;
+-----------+--------------+
| npm       | max_interval |
+-----------+--------------+
| CABRAL    | 00:07:03     |
| DUARTE    | 00:00:27     |
| FERNANDEZ | 00:09:11     |
| RUSSO     | 00:06:11     |
+-----------+--------------+
4 rows in set (0.00 sec)

关于mysql - 计算同一字段不同时间之间的最大间隔MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45942702/

相关文章:

MySQL 后缀索引

JavaScript 日期构造函数和 UTC

powershell - 转换为 Datetime 对象时遇到问题

python - Pandas 计算连续行之间存在 X 秒差异的次数

mysql - 如何在mysql中根据2个日期选择记录

php - 折线图上的 Google Chart API 无效 JSON 字符串

mysql - 我的 has_and_belongs_to_many 关系有什么问题?

php - 使用PHP根据MySQL结果创建无序列表

mysql 找到对每个条件的对

Java 年份以 3 位数显示