SQL Select 语句返回同一表中下一个日期时间的分钟差异

标签 sql sql-server datetime

我有一个用户事件表。我想在几分钟内看到每个过程之间的差异。 更具体地说,这里是表中的部分数据。

Date                |TranType|   Prod          |    Loc
-----------------------------------------------------------
02/27/12 3:17:21 PM | PICK   | LIrishGreenXL   |     E01C015
02/27/12 3:18:18 PM | PICK   | LAntHeliconiaS  |     E01A126
02/27/12 3:19:00 PM | PICK   | LAntHeliconiaL  |     E01A128
02/27/12 3:19:07 PM | PICK   | LAntHeliconiaXL |     E01A129 

我想检索第一个和第二个进程之间的时间差(以分钟为单位),而不是第二个和第三个以及...... 谢谢

最佳答案

像这样的东西将在 MS SQL 中工作,只需更改字段名称以匹配您的名称:

select a.ActionDate, datediff(minute,a.ActionDate,b.ActionDate) as DiffMin

(select ROW_NUMBER() OVER(ORDER BY ActionDate) AS Row, ActionDate
from [dbo].[Attendance]) a

inner join 

(select ROW_NUMBER() OVER(ORDER BY ActionDate) AS Row, ActionDate
from [dbo].[Attendance]) b

on a.Row +1  = b.Row 

关于SQL Select 语句返回同一表中下一个日期时间的分钟差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940918/

相关文章:

c# - 如何协调 LINQ 中的第一条和最后一条记录

mysql - SQL 仅选择列上具有最大值的行

使用 joda 日期时间的 Scala 日期时间转换

c# - 解析看似正确的日期时间时抛出异常

sql - 甲骨文 SQL : using bind variable for dates

mysql - 如何使用 max 函数缩小查询范围?

php - 如何将多个选定的行值从其他表插入到新表

sql - 为什么 object_id 总是返回 null?

SQL 替换所有 NULL

python - 将 unix 时间戳字符串转换为可读日期