sql-server怎样统计某一列相同的数值最多并求出来

例如列rtid:
rtid
1
1
1
2
3
3

用什么语句统计出现次数最多的一个数值并显示出来(此题中:1)
TopNasty的句子查出来了,数据库强者你说的方法不行哦,逻辑有问题?

第1个回答  2007-11-24
楼上的也可以!

不过这样更简单

select top 1 * from test123 where rtid=(select max(rtid) from test123)

自己看看!

帮你讲解一下楼上的代码
select top 1 rtid
from (select rtid, count(*) as num
from table_name
group by rtid) as t
order by num desc

凡事不能只看一步!

select rtid, count(*) as num
from table_name
group by rtid

是获取table_name表中的rtid的不重复数据以及他们各自出现的次数

group by count一起用的话,那么就是把分组后的数据重复次数统计

然后再取一条数据,按照分组数量的倒排序!

这样就可以取出来了!
共同学习!
第2个回答  2007-11-23
用count()函数
第3个回答  2007-11-23
select top 1 rtid
from (select rtid, count(*) as num
from table_name
group by rtid) as t
order by num desc本回答被提问者采纳
相似回答