获取数据库数量字段数量最大的三条数据的问题

暗石绿 2006-11-13 06:04:14
数据表:t
里面字段:
id , name(名称), num(数量)

1 name1 1000
2 name2 1000
3 name3 100
4 name4 10
5 name5 10
6 name6 1


取出结果为(根据 name 字段排序):
1 name1 1000
3 name3 100
4 name4 10

请问怎么取?
...全文
349 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gahade 2006-11-13
  • 打赏
  • 举报
回复
select distinct top 3 (select top 1 id from t a where a.num=t.num) id,
(select top 1 name from t b where b.num=t.num) name,
num from t
order by num desc
暗石绿 2006-11-13
  • 打赏
  • 举报
回复
1000
100
10

1000 有两条记录,但我只要一个1000
100 同理。
“最大的三条记录”
gahade 2006-11-13
  • 打赏
  • 举报
回复
楼主给的例子不对哦.
为什么不是这样的结果啊?

1 name1 1000
2 name2 100
3 name3 10
gahade 2006-11-13
  • 打赏
  • 举报
回复
select top 3 name,max(num) as num
from t
group by name
order by max(num) desc

34,576

社区成员

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

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