Mysql 对多次出现的次数进行排序
假设我有以下数据:Mysql 对多次出现的次数进行排序,mysql,sql,group-by,sql-order-by,Mysql,Sql,Group By,Sql Order By,假设我有以下数据: 2 2 2 3 3 3 4 4 5 5 我想输出一个表,计算重复的频率,并按重复的数量排序 在本例中,两次数据有3个副本,两次数据有2个副本,因此输出为: 2 3 2 2 在SQL中有没有一种简单的方法可以做到这一点 这是一个直方图查询。您只需要两个聚合: select cnt, count(*) from (select col, count(*) as cnt from t group by col ) t group b
2
2
2
3
3
3
4
4
5
5
我想输出一个表,计算重复的频率,并按重复的数量排序
在本例中,两次数据有3个副本,两次数据有2个副本,因此输出为:
2 3
2 2
在SQL中有没有一种简单的方法可以做到这一点 这是一个直方图查询。您只需要两个聚合:
select cnt, count(*)
from (select col, count(*) as cnt
from t
group by col
) t
group by cnt;
这是一个直方图查询。您只需要两个聚合:
select cnt, count(*)
from (select col, count(*) as cnt
from t
group by col
) t
group by cnt;
使用内部查询获取每个数据点的重复,然后使用外部查询按这些重复进行分组,以获取这些重复发生的次数
SELECT i.repetition, COUNT(*) as times
FROM (SELECT column_name, COUNT(*) as repetition
FROM TABLE_NAME
GROUP BY column_name) as i
GROUP BY i.repetition
ORDER BY COUNT(*) DESC
使用内部查询获取每个数据点的重复,然后使用外部查询按这些重复进行分组,以获取这些重复发生的次数
SELECT i.repetition, COUNT(*) as times
FROM (SELECT column_name, COUNT(*) as repetition
FROM TABLE_NAME
GROUP BY column_name) as i
GROUP BY i.repetition
ORDER BY COUNT(*) DESC
添加orderbycount(*)DESC
即可完成所有设置。添加orderbycount(*)DESC
即可完成所有设置。