※ 引述《magiclion (神奇獅子)》之銘言:
: 在一個考試資料表中,我想要找出所有成績相同的學生並且計算重複數量,
: 所以我寫了:
: SELECT grade, COUNT(*) AS count
: FROM student
: GROUP BY grade
: HAVING (COUNT(*) > 1)
: 運作無誤,會顯示所有相同成績的資料,第二欄則顯示重複數量。
: 但是該資料表是將每次測驗都寫在一起,用欄位 s 區隔,因此必須加入 s 篩選,
: 所以我加了 SubQuery:
: SELECT grade FROM student
: WHERE s=3 AND grade IN (
: SELECT grade FROM student
: GROUP BY grade HAVING (COUNT(*) > 1))
: 這樣運作也是正常的,只是我就無法加入一個 COUNT 欄位來計算重複數量了。
: 這個 COUNT(*) AS count 不管加在哪裡都不對,不知各位先進有無方法可以
: 讓這個 SQL 有加入計算重複數量欄位的功能?
不是很確定想要的效果, 是讓第一個 query 只查詢指定測驗的結果嗎, 如果這樣?
SELECT grade, COUNT(*) AS count
FROM student
WHERE s = 3
GROUP BY grade
HAVING COUNT(*) > 1
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 71.107.127.201