不知道这样的语句怎么写

medusalee1 2009-09-11 06:15:40
想问问怎样获取某一列出现次数最多的前3个值
比如某一列:
VALUE
3
1
4
1
1
3
1
2
4

那么出现最多的前3个值是1 3 4
sql 语句该怎么写呢
...全文
32 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihan6415151528 2009-09-11
  • 打赏
  • 举报
回复

create table test(value int)
insert test
select 3 union all
select 1 union all
select 4 union all
select 1 union all
select 1 union all
select 3 union all
select 1 union all
select 2 union all
select 4
go

select top 3 value from test
group by value
order by count(value) desc


value
-----------
1
4
3

(所影响的行数为 3 行)

zhengshaodong 2009-09-11
  • 打赏
  • 举报
回复
DECLARE @tb TABLE ([val] int)
INSERT INTO @tb SELECT 1
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 2
UNION ALL SELECT 2

SELECT TOP 3 [val],count(1) AS valCount FROM @tb
GROUP BY [val]
ORDER BY count(1) desc

34,590

社区成员

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

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