嗨,伙计们,我有一个postgres表,有一列表示事件,一列表示序列。每个事件可能有多个序列。例如:
Event | Sequence
a | 1
a | 4
a | 5
b | 1
b | 2
现在我知道select min(sequence)group by event给出了最小序列。如何得到最小值之后的下一个值。我希望这有道理。提前谢谢。
我用的是Postgres9.3。
最佳答案
您可以使用ROW_NUMBER()
按Event
划分和按Sequence
排序来获得每个事件的第二个最低序列号;
SELECT Event, Sequence
FROM (
SELECT Event, Sequence,
ROW_NUMBER() OVER (PARTITION BY Event ORDER BY Sequence) rn
FROM Table1
) z
WHERE rn = 2;
An SQLfiddle to test with。
关于sql - 在Postgres中找到min + 1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36416918/