SQL如何限制特定列的数量?
我有一张这样的桌子(书):
id | author | book
--------------
1, Joy, book1
2, Joy, book2
3, Bob, book3
4, Bob, book4
5, Bob, book5
6, Dan, book6
...
我需要一个查询来获得 10 个作者的书。下面的选择不是我想要的:
SELECT author, book
FROM books
LIMIT 10
如何将结果限制在 10 个作者?
回答
这是一种方法:
select * from (
select * , dense_rank() over (order by author) rn
from books
) t
where t.rn < 11