[SQL ] 資料選取問題

看板Database (資料庫)作者 (小豬鴻)時間8年前 (2016/03/11 20:01), 8年前編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/2 (看更多)
資料庫名稱: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

03/14 21:54, , 1F
select name from table group by name
03/14 21:54, 1F

03/14 21:55, , 2F
having min(score)>=75
03/14 21:55, 2F

03/14 21:55, , 3F
and sum(case when score>85 then 1 else 0 end)>1
03/14 21:55, 3F

03/18 00:59, , 4F
公司好像知道是那間
03/18 00:59, 4F

03/27 02:49, , 5F
WHERE score>=75再group by / having
03/27 02:49, 5F

03/27 02:51, , 6F
先排除不合法 資料再分堆計算, 會不會觀念清楚一點??
03/27 02:51, 6F

03/27 02:56, , 7F
效能也會好一點, WHERE執行順序高於Group BY
03/27 02:56, 7F
文章代碼(AID): #1MuhE7kr (Database)
討論串 (同標題文章)
文章代碼(AID): #1MuhE7kr (Database)