我有以下数据集。
如果想要最常出现的节目并限制 20 个节目的结果,查询会如何?
编辑
我已经在网上搜索过这个,我需要使用 sql 中的 GROUP BY 方法。但是当我进行查询时
SELECT `show` FROM fans GROUP BY `show` LIMIT 20
我没有得到想要的结果。
SELECT a.*, b.TotalCount
FROM TableName a
INNER JOIN
(
SELECT c.show, COUNT(*) totalCount
FROM TableName c
GROUP BY c.show
) b ON a.show = b.show
ORDER BY b.TotalCount DESC
LIMIT 20
如果你想为每个节目列出一个记录,你可以简单地使用GROUP BY
SELECT a.show, COUNT(*) TotalCount
FROM TableName a
GROUP BY a.Show
ORDER BY TotalCount DESC
LIMIT 20