Re: [SQL ] 請問 103年軟體設計競賽題目

作者: cutekid (可愛小孩子)   2015-07-19 16:10:24
MSSQL:
select cast(teamno as integer) num
from item_score
where groupname = 'groupB'
group by teamno
having min(score) != 0
order by num
※ 引述《s900362123 (s900362123)》之銘言:
: 內容/問題描述:
: 請找出'groupB'參賽隊伍的答題中沒有任一小題為0分的隊伍,列出隊伍編號。顯示結果
: 採用隊伍編號由小而大排序顯示,且同一隊伍編號不重複顯示。
: 資料結構 :
: item_score
: groupname 可變長度字串(長度為10) –參賽組別, 分成’groupA’及’groupB’
: teamno 可變長度字串(長度為8) –隊伍編號
: pnum 整數(長度為2) – 題號, 預設值為0
: score 整數(長度為4) – 該題得分, 預設值為0
: 其中group、teamno 和pnum合起來為主鍵(primary key)。
: 這是我寫的
: select a.groupname,a.teamno,a.pnum,a.score from
: (select * from item_score where groupname="groupB" and score<>0)a,
: (select * from item_score where groupname="groupB" and score=0 group by
: teamno)b
: where a.teamno <> b.teamno
: group by teamno
: 我先找出B所有的分數,再找出B 分數=0的資料 然後group by teamno
: 條件所有的teamno不等於 B分數=0的teamno
: 但是結果還是有=0的 teamno
作者: bluegti (喵喵)   2015-07-19 21:22:00
這個寫法比較好耶...
作者: ClubT (小喬)   2015-07-21 10:01:00
前提是沒有負分呢XD
作者: cutekid (可愛小孩子)   2015-07-21 13:31:00
哈哈,的確不能有「負分」XD不過加個 abs 就行了 →having min(abs(score)) != 0
作者: HankJiang (沒人要的呆江)   2015-07-21 17:23:00
其實有負分也還是一樣阿~題目條件是沒有任一小題是0分負分一樣不是0分

Links booklink

Contact Us: admin [ a t ] ucptt.com