作者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://www.ptt.cc/bbs/Database/M.1457697671.A.BB5.html
※ 編輯: littlepigred (123.240.227.64), 03/11/2016 21:25:27
→ smlboby: select name from table group by name 03/14 21:54
→ smlboby: having min(score)>=75 03/14 21:55
→ smlboby: and sum(case when score>85 then 1 else 0 end)>1 03/14 21:55
推 neo5277: 公司好像知道是那間 03/18 00:59
→ akiaki54: WHERE score>=75再group by / having 03/27 02:49
→ akiaki54: 先排除不合法 資料再分堆計算, 會不會觀念清楚一點?? 03/27 02:51
推 akiaki54: 效能也會好一點, WHERE執行順序高於Group BY 03/27 02:56