我面臨一個問題,寫一個SQL查詢以獲得結果在%模式下,我很熟悉SUM()
和COUNT()
SQL Server的功能,但面臨問題來實現邏輯內查詢我想導致以下表格: -是否有任何內置函數來計算在SQL Server中的百分比
UserName--- % of AccepectResult---- % of RejectResult
我的表結構是這樣的有兩列Name
(用戶名)和Result
:
NAME Result
---------------
USer1 A
USer1 A
USer1 A
USer1 R
USer1 R
USer1 A
USer2 A
USer2 A
USer2 A
USer2 A
USer2 R
A - Accepted Result
R - Rejected Result
我想寫這個查詢像這樣..
select * into #t1 from
(
select UserName , count(Result) as Acc
from Test where result = 'A'
group by UserName
) as tab1
select * into #t2 from
(
select UserName , count(Result) as Rej
from Test where result = 'R'
group by UserName
) as tab2
select #t1.UserName ,
#t1.Acc ,
#t2.Rej ,
(#t1.Acc)*100/(#t1.Acc + #t2.Rej) as AccPercentage,
(#t2.Rej)*100/(#t1.Acc + #t2.Rej) as RejPercentage
from #t1
inner join #t2 on #t1.UserName = #t2.UserName
drop table #t1
drop table #t2
是否有任何其他方式來編寫此查詢和任何內置函數來計算SQL Server中的百分比?