如何计算sql中的不同标志
下面是我的数据片段 下面是测试的示例创建代码如何计算sql中的不同标志,sql,google-bigquery,Sql,Google Bigquery,下面是我的数据片段 下面是测试的示例创建代码 CREATE TABLE MYGROUP ( Category,PERSON,Flag ) AS SELECT 'Cat1','A','1' FROM DUAL UNION ALL SELECT 'Cat1','A','0' FROM DUAL UNION ALL SELECT 'Cat1','A','1' FROM DUAL UNION ALL SELECT 'Cat1','B','1' FROM DUAL UNION ALL
CREATE TABLE MYGROUP ( Category,PERSON,Flag ) AS
SELECT 'Cat1','A','1' FROM DUAL
UNION ALL SELECT 'Cat1','A','0' FROM DUAL
UNION ALL SELECT 'Cat1','A','1' FROM DUAL
UNION ALL SELECT 'Cat1','B','1' FROM DUAL
UNION ALL SELECT 'Cat1','B','0' FROM DUAL
UNION ALL SELECT 'Cat2','A','0' FROM DUAL
UNION ALL SELECT 'Cat2','A','0' FROM DUAL
UNION ALL SELECT 'Cat2','A','0' FROM DUAL
UNION ALL SELECT 'Cat2','B','1' FROM DUAL
UNION ALL SELECT 'Cat2','B','1' FROM DUAL
UNION ALL SELECT 'Cat2','B','0' FROM DUAL
UNION ALL SELECT 'Cat3','X','0' FROM DUAL
UNION ALL SELECT 'Cat3','Y','0' FROM DUAL;
期望输出:
类别-旗帜为1的不同人员计数
Cat1 - 2
Cat2 - 1
Cat3 - 0
我需要在大查询中获取我的代码,以获得不同的人员计数。它不应该重复计数。您可以使用条件聚合
选择
类别
计数(标志=1时的不同情况,然后是人员结束)
来自MYGROUP
按类别分组;
DUAL
是Oracle的一个概念(可能还有其他概念),但对于SQL Server肯定不正确。