Sql 按状态分组的社区计数

Sql 按状态分组的社区计数,sql,Sql,我有一个表,有邻居和状态列 我想得到以下3列: 邻居的名字, 计算打开的状态, 计数状态已关闭 到目前为止,我有以下,它不工作 select _c20 AS Neighborhood, COUNT(select _c20 from events311_default_tbl WHERE _c5 = "Open" GROUP BY Neighborhood), COUNT(select _c20 from events311_default_tbl WHERE _c5 = "Closed

我有一个表,有邻居和状态列

我想得到以下3列: 邻居的名字, 计算打开的状态, 计数状态已关闭

到目前为止,我有以下,它不工作

select _c20 AS Neighborhood, 
  COUNT(select _c20 from events311_default_tbl WHERE _c5 = "Open" GROUP BY Neighborhood),
  COUNT(select _c20 from events311_default_tbl WHERE _c5 = "Closed" GROUP BY Neighborhood)
from events311_default_tbl
GROUP BY Neighborhood

我认为您只需要条件聚合:

SELECT _c20 as Neighborhood, 
       SUM(CASE WHEN _c5 = 'Open' THEN 1 ELSE 0 END) as num_open,
       SUM(CASE WHEN _c5 = 'Closed' THEN 1 ELSE 0 END) as num_closed
FROM events311_default_tbl
GROUP BY Neighborhood;

我认为您只需要条件聚合:

SELECT _c20 as Neighborhood, 
       SUM(CASE WHEN _c5 = 'Open' THEN 1 ELSE 0 END) as num_open,
       SUM(CASE WHEN _c5 = 'Closed' THEN 1 ELSE 0 END) as num_closed
FROM events311_default_tbl
GROUP BY Neighborhood;

t您的问题与您使用的数据库有关。它如何不起作用?它是在数据库磁盘上,使用magic%sql命令t您的问题与您使用的数据库有关。它如何不起作用?它是在数据库磁盘上,使用magic%sql命令