您的位置:首页 > 职场人生

数据库面试题sql查大于平均值的列

2009-12-12 16:15 302 查看
表:sales
ID NAME SALES
----- ---- ---------
1 a 132
2 a 143
3 b 150
4 b 198
5 a 150
6 c 150
7 c 135
8 c 148
9 d 156
10 d 146
查出每组name大于平均值的列,这里name列a的值有132,143,150平均值是142,哪么只查出143和150
查出的结果:
ID NAME SALES
----- ---- ---------
2 a 143
4 b 198
5 a 150
6 c 150
8 c 148
9 d 156

答案如下:

select *
from sales a
where a.sales>(
select avg(sales) from sales b where b.name=a.name group by name
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: