TBo*_*dan 2 sql-server select percentage
我希望返回按每个分组的百分比,例如根据分组方式将id_cerinta多少录音划分为所有录音subcerinteProiectacoperire= 'acoperita'subcerinteProiectid_sarcina

我尝试过类似的东西:
SELECT
id_cerinta,
SUM(CASE WHEN acoperire = 'acoperita' THEN 1 ELSE 0 END)
/ COUNT(*) * 100 AS nr_subcerinte_acoperit
FROM
subcerinteProiect
GROUP BY
id_cerinta
Run Code Online (Sandbox Code Playgroud)
但效果不太好。它只返回 0..
这是由于整数数学。试试这些:
SELECT 5/100, 57/100, 99/100;
Run Code Online (Sandbox Code Playgroud)
结果全是0。
现在尝试:
SELECT 5.0/100, 57.0/100, 99.0/100;
Run Code Online (Sandbox Code Playgroud)
更好的结果,对吗?
因此,对于您的查询:
SELECT
id_cerinta,
CONVERT(DECIMAL(5,2),
SUM(CASE WHEN acoperire = 'acoperita' THEN 1 ELSE 0 END)
/ COUNT(*) * 100.0) AS nr_subcerinte_acoperit
FROM
subcerinteProiect
GROUP BY
id_cerinta
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8598 次 |
| 最近记录: |