小编Vla*_*lav的帖子

如何选择每组的前N行?

我有两个这样的SQLite表:

 AuthorId | AuthorName
----------------------
 1        | Alice
 2        | Bob
 3        | Carol
 ...      | ....


 BookId | AuthorId | Title
----------------------------------
 1      | 1        | aaa1
 2      | 1        | aaa2
 3      | 1        | aaa3
 4      | 2        | ddd1
 5      | 2        | ddd2
 ...    | ...      | ...
 19     | 3        | fff1
 20     | 3        | fff2
 21     | 3        | fff3
 22     | 3        | fff4
Run Code Online (Sandbox Code Playgroud)

我想创建一个SELECT查询,它将返回每个AuthorId的前N行(例如两行),按Title排序("选择每个作者的前两本书").

样本输出:

 BookId |  AuthorId | AuthorName …
Run Code Online (Sandbox Code Playgroud)

sql sqlite greatest-n-per-group limit-per-group

23
推荐指数
2
解决办法
2万
查看次数