标题:一个T-SQL语句的问题
只看楼主
zy_6084
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-24
结帖率:66.67%
已结贴  问题点数:18 回复次数:6 
一个T-SQL语句的问题
有这样一个表,列名为姓名,衣服,价格,现在我需要统计出对于每个人,买的价格最贵的两件衣服分别是什么。用T_SQL如何写?
在面向对象语言这个语句很简单,但是在T-SQL中实在想半天也没想出来,开始想用TOP和GROUPBY,但是得不出正确结果。求高手赐教。
搜索更多相关主题的帖子: 价格 如何 
2012-12-28 18:22
mpi
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:99
专家分:872
注 册:2012-11-14
得分:18 
select * from (select *,row_number() over(partition by 姓名 order by 价格 desc) num from 表名)t1 where num <3

厌烦自私贪婪和不劳而获的人。
厌烦代码各种求,而不思进取的人。
本人也是菜鸟,求上进,踏实不浮躁的朋友共同进步。
2012-12-29 10:02
zy_6084
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-24
得分:0 
谢谢LS,不知道有这个函数,看来真是基础太差。继续努力学习
2012-12-31 08:08
zy_6084
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-24
得分:0 
select * from(select  * ,row_number()over(partition by 姓名 order by 价格 desc)as rank from table_d )where rank<3
提示where附近有错误,LS帮忙看一下有什么问题
2012-12-31 11:04
mpi
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:99
专家分:872
注 册:2012-11-14
得分:0 
as rank去掉as  我示例上面的t1是临时表名是子查询的结果集 你可以随便添加个临时表名

厌烦自私贪婪和不劳而获的人。
厌烦代码各种求,而不思进取的人。
本人也是菜鸟,求上进,踏实不浮躁的朋友共同进步。
2012-12-31 11:20
zy_6084
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-24
得分:0 
成功了,谢谢。
2012-12-31 11:29
dandandenuan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-15
得分:0 
学习了!
2013-03-18 10:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-394325-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.134047 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved