Vin*_*uet 6 sql sql-server alias count divide
这是我的查询:
SELECT
COUNT(*) AS total,
COUNT(CASE WHEN t.id IS NULL THEN 1 END) AS nb_null,
COUNT(CASE WHEN t.id IS NOT NULL THEN 1 END) AS nb_not_null
FROM
table t
Run Code Online (Sandbox Code Playgroud)
是否可以通过别名划分字段?:
SELECT
COUNT(*) AS total,
COUNT(CASE WHEN t.id IS NULL THEN 1 END) / total AS nb_null,
COUNT(CASE WHEN t.id IS NOT NULL THEN 1 END) AS nb_not_null
FROM
table t
Run Code Online (Sandbox Code Playgroud)
它在SQL Server中对我不起作用,我想知道是否有任何方法可以做到这一点?谢谢
Mar*_*ith 16
代替
COUNT(CASE WHEN t.id is null THEN 1 END)/Count(*)
Run Code Online (Sandbox Code Playgroud)
您可以使用
AVG(CASE WHEN t.id is null THEN 1.0 ELSE 0 END)
Run Code Online (Sandbox Code Playgroud)
小智 6
我需要用任意数量的特征(不仅仅是空与非空)来解决类似的问题,而且我还希望它们转换为百分比。这可能对您或有类似问题的其他人有所帮助:
WITH counts AS
(SELECT [feature],
COUNT(*) AS cnt
FROM [your_table]
GROUP BY [feature])
SELECT [feature], CAST(100 * num AS DOUBLE) / (SELECT SUM(num) FROM counts)
AS pct
FROM counts
ORDER BY pct DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12242 次 |
| 最近记录: |