【发布时间】:2016-11-17 14:57:50
【问题描述】:
这是我的 SQL 表
RecordID RecordState Time
-----------------------------------
record1 failed 1:00
record1 passed 2:00
record2 passed 2:15
record3 failed 3:00
record4 passed 4:00
record4 failed 5:00
我只需要选择“失败”的记录。
select RecordID, max(RecordState)
from RecordTable a
inner join RecordStateTable b
on a.recordID = b.recordID
group by RecordID
这会提取所有失败记录,但这里的问题是 record4 值首先传递然后失败,因此传递了该记录的 max(recordstate)。我不知何故还需要为 Max(Time) 修改它,但我不知道如何。
预期结果是record3(failed),record4(failed)
【问题讨论】:
-
所以你的结果应该只包含记录 3?还是记录 3 和 4?
-
能否添加预期的结果
-
你有两张桌子吗?您的查询表明您有一个 RecordTable 和一个 RecordStateTable,但您的问题表明您只有一个表。
标签: sql sql-server