這個問題在這里已經有了答案:
我試圖找到其中名稱長度等于 1 的記錄的百分比。
到目前為止,我嘗試過這個..但我無法讓它給我一個百分比值。
select T.N/T.D from (
select (select count(1) from Candidate where len(rtrim(LTRIM(name))) = 1 ) as N
,
count(*) as D
from Candidate ) T
另外,這是最好的方法嗎?有沒有更好的方法來做到這一點?
謝謝!
uj5u.com熱心網友回復:
您可以使用條件聚合 avg()
例子
Declare @YourTable Table ([Name] varchar(50)) Insert Into @YourTable Values
('A')
,('B')
,('C')
,('D')
,('E')
,('bob')
,('bobby')
,('zac')
,('jack')
,('noname')
Select avg( case when len(Name)=1 then 1.0 else 0 end)
from @YourTable
結果
0.500000
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/421771.html
標籤:
