0
我寫了一個查詢,它涉及創建一個表中的總數值和百分比(轉儲到單個行)。每個子查詢對於WHERE參數略有不同。例如:在外部查詢和子查詢中使用的COUNT和GROUP函數
select distinct
count(KS2_PupilMatchingRefAnonymous) AS 'Total Pupils',
(select count(KS2_PupilMatchingRefAnonymous)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1) AS 'All Eligible Pupils',
(select count(*)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1
and KS2_ELIGENGTA=1
and FSMeligible=1) AS 'Eligible FSM only',
(select round(
(cast((
select count(*)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1
and KS2_ELIGENGTA=1
and FSMeligible=1) AS float)/
cast((
select count(KS2_PupilMatchingRefAnonymous)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1) AS float))*100,2
)) AS '% Eligible FSM'
from KS2_CandInd_2011
where KS2_MMSCH=1
我現在要按照性別分類的各子查詢與COUNT(和GROUP BY,當然)。如果性別的COUNT/GROUP BY被放置在外部查詢中,我只會得到「總計學生」值的細分/拆分。
如果我嘗試在子查詢中輸入相同的條款,有人告訴我
消息116,級別16,狀態1,行12 只有一個表達式可以在選擇列表中指定當子查詢不隨EXISTS引入。
內部查詢並沒有真正引用外部查詢,因爲每個相關的子查詢,所以我不知道如何克服錯誤,儘管我最好的嘗試。有沒有人有什麼建議?
是這樣的作品,雖然百分比值出來有點過(!558%),但我可以解決這個問題我想關鍵是使用SUM而不是COUNT,然後。 ?非常感謝 – user2795273
確實!我使用上述構造所有的時候,我必須根據各種條件來計數東西。如果這解決了你的問題,那麼你可以通過點擊勾號圖標來接受它作爲一個有效的答案。 – 2013-10-09 14:45:51