【发布时间】:2016-04-01 09:47:59
【问题描述】:
我正在尝试查看位于农村或城市位置的组织的比例——“农村”类别有“农村”、“城市”或“NULL”。我可以将“城市”和“农村”的百分比计算为所有值的百分比,但我想排除所有具有“NULL”值的事件。
目前我有:
SELECT Geography_Rurality_DEFRA_Grouped as 'Type',
COUNT(*) as 'Count',
(COUNT(Geography_Rurality_DEFRA_Grouped)* 100 / (SELECT COUNT(*) FROM [SWFC_Project].[dbo].[Lookup_SchoolLevelIndicators])) AS Perc
FROM [SWFC_Project].[dbo].[Lookup_SchoolLevelIndicators]
WHERE Geography_Rurality_DEFRA_Grouped IS NOT NULL
GROUP BY [Geography_Rurality_DEFRA_Grouped]
ORDER BY 'Count' desc, Geography_Rurality_DEFRA_Grouped
我的输出是:
Type | Count | Perc
-------------------
Urban| 78117 | 72
Rural| 27693 | 25
但是百分比加起来只有 97%,而我想要 100% 的“城市”和“农村”,不包括“NULL”值。
如果这有什么不同,我正在使用 SSMS。
【问题讨论】:
-
* 100.0有什么不同吗? -
您的子查询中没有 WHERE IS NOT NULL
标签: sql sql-server ssms-2012