我有一个包含列score和timestamp的表。当按timestamp排序时,我需要选择score是新高的每一行(粗体行):Score|时间戳
score
timestamp
6|1
3|23|35|4
7|510|6
8|79|810|9
11|10
yfwxisqw1#
select records ,min(Timestamp) as Timestamp from ( select max(Score) over(order by timestamp) as records, Timestamp from t ) t group by records
记录|时间戳
6|17|510|611|10Fiddle
camsedfj2#
您可以尝试以下操作(假设时间戳是唯一的):
Select T.Score, T.Timestamp From score_tbl T Where NOT Exists(Select 1 From score_tbl D Where D.Timestamp < T.Timestamp And D.Score >= T.Score) Order By T.Timestamp
请参见demo。
2条答案
按热度按时间yfwxisqw1#
记录|时间戳
6|1
7|5
10|6
11|10
Fiddle
camsedfj2#
您可以尝试以下操作(假设时间戳是唯一的):
请参见demo。