Re: [SQL ] 資料選取問題

作者: rockchangnew (rock)   2016-03-11 23:18:20
※ 引述《littlepigred (小豬鴻)》之銘言:
: 資料庫名稱: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
select name from(
select
name
,count(case when score>84 then 1 else null end) as [Over85]
,count(case when score<75 then 1 else null end) as [Below75]
from scoretb group by name) tmp
where [Over85]>=2 and [Below75]=0
作者: rockchangnew (rock)   2016-03-12 00:42:00
我是用MSSQL,MySQL您要試試看
作者: mrforget (財去人安樂)   2016-03-12 01:31:00
select name from tab where score >= 85 and exists(select name from tab where score <=75)group by name having count(name)>=2;我是用oracle<=75那邊有錯,應該是<75
作者: littlepigred (小豬鴻)   2016-03-12 23:51:00
我是原po 謝謝各位的解答 考試只說用SQL語法 沒特別設限不過我用MYSQL 好像不能用exists執行 我再研究 不過概念我了解了 謝謝各位!

Links booklink

Contact Us: admin [ a t ] ucptt.com