sqlite 根据顺序有条件地选择行

ohtdti5x  于 2022-11-15  发布在  SQLite
关注(0)|答案(2)|浏览(155)

我有一个包含列scoretimestamp的表。当按timestamp排序时,我需要选择score是新高的每一行(粗体行):
Score|时间戳

6|1

3|2
3|3
5|4

7|5
10|6

8|7
9|8
10|9

11|10

yfwxisqw

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|1
7|5
10|6
11|10
Fiddle

camsedfj

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

相关问题