作者littlepigred (小猪鸿)
看板Database
标题[SQL ] 资料选取问题
时间Fri Mar 11 20:01:09 2016
资料库名称:MySQL
资料库版本:
内容/问题描述:
今天去面试遇到一题题目如下:
name subject score
────────────
aaa math 90
aaa chem 75
aaa eng 70
bbb chem 85
bbb math 95
bbb eng 90
ccc eng 65
ccc chem 80
ccc math 75
请用SQL语法选出至少2科分数高於85且没有任何一科低於75的人
小弟新手 麻烦各为求解QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.240.227.64
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1457697671.A.BB5.html
※ 编辑: littlepigred (123.240.227.64), 03/11/2016 21:25:27
1F:→ smlboby: select name from table group by name 03/14 21:54
2F:→ smlboby: having min(score)>=75 03/14 21:55
3F:→ smlboby: and sum(case when score>85 then 1 else 0 end)>1 03/14 21:55
4F:推 neo5277: 公司好像知道是那间 03/18 00:59
5F:→ akiaki54: WHERE score>=75再group by / having 03/27 02:49
6F:→ akiaki54: 先排除不合法 资料再分堆计算, 会不会观念清楚一点?? 03/27 02:51
7F:推 akiaki54: 效能也会好一点, WHERE执行顺序高於Group BY 03/27 02:56