SQLite3:为所有ID选择N个最小值

时间:2014-04-18 21:15:10

标签: sql sqlite aggregate-functions

假设我的表my_table有一列ID,另一列Date,所有这些记录都是唯一的。

我想选择所有ID,N个日期最低的记录。如果我想为N = 1做这个,我有以下

SELECT
    *
FROM my_table r
WHERE
    r.Date = (SELECT Min(Date) FROM my_table WHERE ID = r.ID)

如何将此概括为更高的N?

1 个答案:

答案 0 :(得分:2)

SQLite允许以下语法:

SELECT r.*
FROM my_table r
WHERE r.Date IN (SELECT Date FROM my_table WHERE ID = r.ID ORDER BY Date LIMIT 5);