iT邦幫忙

0

如何得到每個層級佔總人數多少%?

請問 我要如何將下列語法修正為每個層級佔全部人數的百分之幾呢?
已知全部人數9840人-->(SELECT COUNT(*) AS '人數總和' FROM SPL_DIS..PRT429 WHERE 現有會數 BETWEEN 0 AND 10000)
https://ithelp.ithome.com.tw/upload/images/20181121/20111204MFZJLwLomC.png

ex:希望上方會數層級100以下"占比"的欄位可呈現出77.99%字樣(100以上的"占比"的欄位則是17.13%、300以上-->2.00%、400以上-->1.40%、500以上-->2.50%),而不是我上面下的語法變成占比都是0..../images/emoticon/emoticon10.gif

小魚 iT邦高手 1 級 ‧ 2018-11-22 07:37:27 檢舉
會變成0應該是因為被當成int處理了
debbie5 iT邦新手 5 級 ‧ 2018-11-22 15:57:04 檢舉
恩恩....那我得要做型態轉換!

1 個回答

1
rogeryao
iT邦研究生 4 級 ‧ 2018-11-22 00:51:00
最佳解答

convert(decimal(12,2),100* 人數/ (SELECT COUNT(* )
FROM SPL_DIS..PRT429 WHERE 現有會數 BETWEEN 0 AND 10000)) as '佔比(%)'

或是
convert(varchar(14),convert(decimal(12,2),100* 人數/ (SELECT COUNT(* )
FROM SPL_DIS..PRT429 WHERE 現有會數 BETWEEN 0 AND 10000)))+'%' as '佔比(%)'

debbie5 iT邦新手 5 級 ‧ 2018-11-22 15:55:11 檢舉

感謝rogeryao 提供給我兩種方式哦,我都有嘗試跑看看,自己也再做一點微微的調整。/images/emoticon/emoticon07.gif
https://ithelp.ithome.com.tw/upload/images/20181122/20111204do9UoGjSsQ.png

我要發表回答

立即登入回答