我有一个表,我需要从中提取数据,我们称之为AUDITHISTORY。每次进行更改时,都会像这样写入此表:
IDNum FieldUpdated OldValue NewValue Updatetime
1 urgency Medium High DATETIME1
1 urgency High Medium DATETIME2
2 urgency Medium High DATETIME1
2 urgency High Medium DATETIME2
我正在尝试编写一个select语句来放置这样的数据:
IDNum StartTime StopTime Difference
1 DATETIME1 DATETIME2 DATETIME2-DATETIME1
2 DATETIME1 DATETIME2 DATETIME2-DATETIME1
...用于在给定时间范围内出现的所有事件。我有一个脚本,每个“IDNUM”显示两行,我无法正确分组。
答案 0 :(得分:1)
只要DATETIME2总是大于DATETIME1,这应该有效;
SELECT IDNum, MIN(Updatetime) DATETIME1,
MAX(Updatetime) DATETIME2,
MAX(Updatetime) - MIN(Updatetime) Difference
FROM AUDITHISTORY
GROUP BY IDNum
差异(即减去两个日期时间的结果)对于所有RDBMS都不相同,因此您可能希望使用更具数据库的方法来获取您喜欢的格式。