Mysql 如何按不同字段选择整行,并按该不同字段的计数对结果进行排序?
我的场景与此非常相似,但除了按Mysql 如何按不同字段选择整行,并按该不同字段的计数对结果进行排序?,mysql,sql,Mysql,Sql,我的场景与此非常相似,但除了按分组[some field],我还需要按计数([some field])对结果进行排序 例如,我可能有以下表格: Title Category Project 1 Admin Project 2 Development Project 2 Admin Project 3 Development 应用此SQL语句后: SELECT Title, MIN(Category) AS Category FROM MyTabl
分组
[some field],我还需要按计数([some field])对结果进行排序
例如,我可能有以下表格:
Title Category
Project 1 Admin
Project 2 Development
Project 2 Admin
Project 3 Development
应用此SQL语句后:
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
我有:
Project 1 Admin
Project 2 Admin
Project 3 Development
但我还需要根据标题的COUNT()
对其进行排序,以最终得到以下结果:
Project 2 Admin
Project 1 Admin
Project 3 Development
我怎样才能达到这个结果 使用COUNT
在Order by
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
Order by count(*) desc,Category
使用COUNT
在orderby
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
Order by count(*) desc,Category
您可以使用orderby
中的count(Title)
:
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
ORDER BY count(Title) DESC, Title
您可以使用orderby
中的count(Title)
:
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
ORDER BY count(Title) DESC, Title
将orderby
子句与COUNT
聚合函数一起使用
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
Order by count(*) desc,Category
将orderby
子句与COUNT
聚合函数一起使用
SELECT Title, MIN(Category) AS Category
FROM MyTable
GROUP BY Title
Order by count(*) desc,Category
好吧,你只需要做你想做的:orderbycount(*)DESC
@dnoeth,为什么orderbycount(*)ORDER BY“Title”不是“Category”?它只按计数排序,除非你明确添加,否则次顺序是随机的。继续。试试看!好吧,你只需要做你想做的:orderbycount(*)DESC
@dnoeth,为什么orderbycount(*)ORDER BY“Title”不是“Category”?它只按计数排序,除非你明确添加,否则次顺序是随机的。继续。试试看!我要问你为什么用count(*)而不是count(Title)?我要问你为什么用count(*)而不是count(Title)?