我有3個字段名稱,年齡,性別和約定。在sql server中執行COUNT和PERCENTAGE的最佳方式是什麼?
約定有兩種類型的值 - 同意和不同意。
我想要做的是獲得COUNT以及年齡和性別百分比,以及COUNT和年齡百分比以及未達到約定值的性別百分比。
願我們的佈局是這樣的:
AGE GENDER AGREED
93 600 40% Female 700 62% Agreed
1300 60% 320 38% Not Agreed
首先,請記住,我只是做了數不過從上面的例子,我想表明我們所希望的佈局承受具有。
每個年齡將有2組值。那些同意的人數COUNT和他們的百分比和 COUNT的那些人沒有達成一致的價值和百分比。
同性別。
我希望這不會造成混淆。
下面是我正在使用的代碼,但相信我在錯誤的軌道上。
非常感謝。
Select gender, age, agreed, count(agreed)totalAgreed,Agreed = convert(VARCHAR,convert(MONEY,100.0 * count(agreed) /(SELECT count(agreed) FROM myTable)), 1) + '%'
From myTable
Group By gender, age, agreed
您無法在標準簡單查詢中的行級別執行百分比,因爲這需要知道在整個查詢處理完畢之前無法使用的總計。您需要嵌套查詢或分兩個階段完成查詢 - 請確定總數,然後重新查詢以完成百分比。 –