写一个sql 查询一个表中姓名相同的记录,并把数据按照重复的次数从高到低排列显示

查询一个表中姓名相同的记录,并把数据按照重复的次数从高到低排列显示,请问该怎么做
mysql数据库的

select 姓名列,count(1) as [重复次数] from 表名 group by 姓名列  having count(1)>=2 order by 重复次数 desc

追问

应该是这种效果:
小明
小明
小明
小红
小红
小小
就是说重复次数最大的放到最前面,显示所有重复数据?请问???

追答select * from 表名  as t1
left join (select top(10000) 姓名列名,count(1) as 重复次数  from 表名 group by 姓名列名  having count(1)>=2 order by 重复次数 desc)  as t2
on t1.姓名列名=t2.姓名列名
where t1.姓名列名 is not null and 重复次数 is not null
order by 重复次数 desc

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-02
这样试试
select t1.*
from test t1 left join
(select name,count(name) c
from test
group by name) t2 on t1.name=t2.name
where c>1
order by c desc

第2个回答  2015-03-02
select name ,fcount from
(select name,count(name) as fcount from table group by name) t
order by fcout desc追问

  这是统计的,应该是这种效果:
小明
小明
小明
小红
小红
小小
就是说重复次数最大的放到最前面,显示所有重复数据?请问???

相似回答