MSSQL,如何查询出现频率最高的唯一记录?

my_yinger 2013-10-27 09:25:47
MSSQL,如何查询出现频率最高的唯一记录?
例如,下述查询得知h_2中出现频率最高的是12为167次,如何只得出h_2 = 12 s_cq = 167 ?

SELECT h_2 , count(h_2) as s_cq FROM [TCFX].[dbo].[C1]
group by h_2
order by s_cq desc


h_2 s_cq

12 167
10 165
11 137
9 122
8 107
7 82
6 80
5 42
4 38
3 25
2 19
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Landa_Aiden 2013-10-27
  • 打赏
  • 举报
回复
SELECT top 1 h_2 , count(h_2) as s_cq  FROM [TCFX].[dbo].[C1]
group by h_2
order by s_cq desc
LongRui888 2013-10-27
  • 打赏
  • 举报
回复
这种适合sql server 2005及以后的版本:
select h_2,s_cq
from
(
SELECT h_2 ,count(h_2) as s_cq,
       row_number() over(order by count(h_2) desc) as rownum  
FROM [TCFX].[dbo].[C1]
group by h_2
)t
where t.rownum = 1
唐诗三百首 2013-10-27
  • 打赏
  • 举报
回复

SELECT top 1 h_2,count(h_2) 's_cq'  
 FROM [TCFX].[dbo].[C1]
 group by h_2
 order by s_cq desc
LongRui888 2013-10-27
  • 打赏
  • 举报
回复

SELECT top 1 h_2 , count(h_2) as s_cq  FROM [TCFX].[dbo].[C1]
group by h_2
order by s_cq desc
my_yinger 2013-10-27
  • 打赏
  • 举报
回复
SELECT h_2 , count(h_2) as s_cq FROM [TCFX].[dbo].[C1] group by h_2 order by s_cq desc h_2 s_cq 12 167 10 165 11 137 9 122 8 107 7 82 6 80 5 42 4 38 3 25 2 19

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧