--測(cè)試數(shù)據(jù)
DECLARE @t TABLE(ID int PRIMARY KEY,col decimal(10,2))
INSERT @t SELECT 1 ,26.21
UNION ALL SELECT 2 ,88.19
UNION ALL SELECT 3 , 4.21
UNION ALL SELECT 4 ,76.58
UNION ALL SELECT 5 ,58.06
UNION ALL SELECT 6 ,53.01
UNION ALL SELECT 7 ,18.55
UNION ALL SELECT 8 ,84.90
UNION ALL SELECT 9 ,95.60
--統(tǒng)計(jì)
SELECT a.Description,
?Record_count=COUNT(b.ID),
?[Percent]=CASE
??WHEN Counts=0 THEN '0.00%'
??ELSE CAST(CAST(
???COUNT(b.ID)*100./c.Counts
???as decimal(10,2)) as varchar)+'%'
??END
FROM(
?SELECT sid=1,a=NULL,b=30? ,Description='<30' UNION ALL
?SELECT sid=2,a=30? ,b=60? ,Description='>=30 and <60' UNION ALL
?SELECT sid=3,a=60? ,b=75? ,Description='>=60 and <75' UNION ALL
?SELECT sid=4,a=75? ,b=95? ,Description='>=75 and <95' UNION ALL
?SELECT sid=5,a=95? ,b=NULL,Description='>=95'
)a LEFT JOIN @t b
?ON (b.col<a.b OR a.b IS NULL)
??AND(b.col>=a.a OR a.a IS NULL)
?CROSS JOIN(
??SELECT COUNTS=COUNT(*) FROM @t
?)c
GROUP BY a.Description,a.sid,c.COUNTS
ORDER BY a.sid
/*--結(jié)果:
Description??? Record_count? Percent
------------------- ------------------ ----------------------
<30????????? 3??????????? 33.33%
>=30 and <60? 2??????????? 22.22%
>=60 and <75? 0??????????? 0.00%
>=75 and <95? 3??????????? 33.33%
>=95???????? 1??????????? 11.11%
--*/
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
