我有两个SQLite的表是这样的:如何选择每组的前N行?
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
我想打一个SELECT查询将返回第N(例如两个)行每个AUTHORID,按标题排序(“选择的前两本图书每个作者“)。
输出示例:
BookId | AuthorId | AuthorName | Title
------------------------------------------
1 | 1 | Alice | aaa1
2 | 1 | Alice | aaa1
4 | 2 | Bob | ddd1
5 | 2 | Bob | ddd2
19 | 3 | Carol | fff1
20 | 3 | Carol | fff2
如何建立这个查询?
(是的,我找到了一个类似的话题,我知道如何返回只有一行(第一或顶部)。
有人在这里遇到过类似问题http://stackoverflow.com/questions/9518900/how-to-find-teams-with-sql-command –
请参见[56,“问题包括‘标签中的’他们标题?“](http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles),其中的共识是”不,他们不应该“! –