[SQL ] 篩選重複資料加上 SubQuery
DB資訊:PostgreSQL
作業系統:FreeBSD
程式語言:PHP
在一個考試資料表中,我想要找出所有成績相同的學生並且計算重複數量,
所以我寫了:
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 有加入計算重複數量欄位的功能?
註:用程式語言來計算零難度,我已經用 PHP 計算了,只是想知道有沒有辦法
直接用 SQL 計算。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.144.67
推
05/31 13:31, , 1F
05/31 13:31, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):