以下代碼返回一對數字,標識參與三個以上活動的人員。SQL - 從查詢中作爲單個數字獲取答案
SELECT pnr
FROM Participates
GROUP BY pnr
HAVING count(activities)>3;
我希望答案是參加超過三個活動的人數,即「4」,而不是四個唯一的數字。該怎麼辦?
以下代碼返回一對數字,標識參與三個以上活動的人員。SQL - 從查詢中作爲單個數字獲取答案
SELECT pnr
FROM Participates
GROUP BY pnr
HAVING count(activities)>3;
我希望答案是參加超過三個活動的人數,即「4」,而不是四個唯一的數字。該怎麼辦?
Access支持派生表。
SELECT COUNT(*) AS NumberOfParticipants FROM
(
SELECT pnr
FROM Participates
GROUP BY pnr
HAVING count(activities)>3
) T
您需要在pnr
領域的WHERE子句來唯一地標識您的分組之一:
SELECT COUNT(pnr)
FROM Participates
GROUP BY pnr
WHERE pnr = 'whatever'
HAVING COUNT(activities)>3
我的條款的順序可能是錯誤
Select Count(Distinct pnr)
From Participates
Having Count(activities) > 3
沒有「GROUP BY」在這裏讓'計數(不同PNR)'也要算在整個表中不同的PNR和將返回,作爲結果,如果發生的活動,在整個表的數量超過3. – 2010-08-22 15:46:27
真棒,正是我所期待的。謝謝 – Kremlan 2010-08-22 15:23:56