写一个sql 查询一个表中姓名相同的记录,并把数据按照重复的次数从高到低排列显示
查询一个表中姓名相同的记录,并把数据按照重复的次数从高到低排列显示,请问该怎么做mysql数据库的...
查询一个表中姓名相同的记录,并把数据按照重复的次数从高到低排列显示,请问该怎么做
mysql数据库的 展开
mysql数据库的 展开
3个回答
展开全部
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
展开全部
这样试试
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select name ,fcount from
(select name,count(name) as fcount from table group by name) t
order by fcout desc
(select name,count(name) as fcount from table group by name) t
order by fcout desc
追问
这是统计的,应该是这种效果:
小明
小明
小明
小红
小红
小小
就是说重复次数最大的放到最前面,显示所有重复数据?请问???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询