首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

MSSQL,怎么查询出现频率最高的唯一记录

2013-10-29 
MSSQL,如何查询出现频率最高的唯一记录?MSSQL,如何查询出现频率最高的唯一记录?例如,下述查询得知h_2中出

MSSQL,如何查询出现频率最高的唯一记录?
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_2s_cq

12167
10165
11137
9122
8107
782
680
542
438
325
219

[解决办法]


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

[解决办法]

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

[解决办法]
这种适合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

[解决办法]
SELECT top 1 h_2 , count(h_2) as s_cq  FROM [TCFX].[dbo].[C1]
group by h_2
order by s_cq desc

热点排行