使用一个SQL查询在多个列上运行计数

时间:2016-09-14 18:20:43

标签: sql count

我希望一次在多个列上运行计数SQL查询。其中83个。对于每一个,我只想弄清楚有多少个实例值= 1。

离。

从[filename.filename]中选择count(*) 其中[Column001] = 1

从[filename.filename]中选择count(*) 其中[Column002] = 1

每列中的所有数据都标记为0或1。

有没有一种方法可以让我在一个查询中编写所有查询并将它们全部显示为包含结果的表格,而不是编写83个小查询?

1 个答案:

答案 0 :(得分:3)

这似乎是你想要的:

SELECT SUM(CASE WHEN Column_1 = 1 THEN 1 ELSE 0 END) N_1,
       SUM(CASE WHEN Column_2 = 1 THEN 1 ELSE 0 END) N_2,
       SUM(CASE WHEN Column_3 = 1 THEN 1 ELSE 0 END) N_3,
       .....
       SUM(CASE WHEN Column_83 = 1 THEN 1 ELSE 0 END) N_83
FROM YourTable;