假设我有一个包含三列的简单表格,如下所示:
USER_ID Number_Of_Apples Number_Of_Pears
ABC1 1 NULL
ABC2 2 NULL
ABC3 NULL 5
ABC4 10 12
现在,如果我运行此查询:
SELECT Number_Of_apples
FROM table
WHERE Number_Of_apples IS NULL
它将返回ABC3的结果,SSMS将在右下角显示返回1行。
这很好,但是如果我想要" 1行返回的总结信息"在所有列?即:我希望它返回类似的东西:
Number_Of_Apples Number_Of_Pears
1 2
我有大约一百列,所以我真的希望我不必进入并更改WHERE
条款100次以手动查看它有多少记录。我会回来的。有没有简单的方法可以做到这一点?
编辑:
所以我实际拥有的数据肯定不是聚合表。它有一个政策编号和各种其他栏目,如地址,国家/地区,风险评级,团队ID,行业代码等。我们正在尝试确定在我们的预测模型中使用哪些变量(列),但首先我们'我想确保那里有数据 - 因此我们要检查每列的空值。
答案 0 :(得分:1)
您可以执行以下操作,但对于您的100个字段,它会变得相当笨拙。我想问题是为什么你有100个字段反对用户记录?如果您发布原始表(可能)创建了您的信息,那么可能会有比写这个重复查询更好的解决方案吗?
SELECT SUM(CASE WHEN [Number_Of_Apples] IS NULL THEN 1 ELSE 0 END) [Number_Of_Apples],
SUM(CASE WHEN [Number_Of_Pears] IS NULL THEN 1 ELSE 0 END) [Number_Of_Pears]
etc...
FROM table