我有一个表格,我希望按类别排列最高出现次数,并仅输出该特定条目。
我尝试了这个查询,但没有运气 $ sql =“SELECT类别,文章,COUNT(*) 来自articles_likes WHERE category ='{$ category}' GROUP BY文章 DESC“;
例如:
表 -
article category
1 A
1 B
1 B
2 A
2 A
2 B
3 A
4 B
预期产出 -
如果我选择A则应为2
如果我选择B则应为1
答案 0 :(得分:2)
您希望按照类别的计数降序对文章进行排序。将查询限制为单个记录将为您提供计数最多的文章。对于A,以下查询将起作用。请注意,我使用table
作为表名,因为问题没有提供表名。
SELECT article
FROM table
WHERE category = 'A'
GROUP BY article
ORDER BY COUNT(*) DESC
LIMIT 1
如果您需要的信息不仅仅是文章,那么您可以在select语句中添加以下内容以获取更多详细信息。
SELECT article, category, COUNT(*)
FROM table
WHERE category = 'A'
GROUP BY article
ORDER BY COUNT(*) DESC
LIMIT 1