我有一张记录问题,答案和作者的表格。列名如下:
id,question,answers,author
我想获得一份撰写问题最多的十大作者名单。所以需要先计算每个作者写的问题数量,然后按计数排序然后返回前10名。
这是在SQLite中,我不确定如何获取计数列表。第二部分应该相当简单,因为它只是ORDER BY
和LIMIT 10
。如何将计数列入我可以选择的列表中?
答案 0 :(得分:3)
SELECT BY COUNT(author)
,author
FROM table_name
GROUP BY author
ORDER BY COUNT(author) DESC LIMIT 10;
答案 1 :(得分:3)
您可以将order by
子句应用于聚合查询:
SELECT author, COUNT(*)
FROM mytable
GROUP BY author
ORDER BY 2 DESC
LIMIT 10
答案 2 :(得分:1)
您可以将查询包装为子查询,然后使用LIMIT
,如下所示:
SELECT *
FROM (
SELECT author
,COUNT(*) AS cnt
FROM mytable
GROUP BY author
) t
ORDER BY t.cnt DESC
LIMIT 10;