繁体   English   中英

如何计算多个组中的结果数

[英]How to count the number of results in multiple group by

我有一个 SQL 语句

SELECT 
    ID
  , PERSON
  , STATE
  , VDATE
  , count(PERSON)
  , count(VDATE) 
from myTable  
group by 
    PERSON
  , STATE
  , VDATE;

我对 VDATE 感兴趣。 可能存在具有空白 VDATE 并且可能超过 VDATE 的记录。

我的理想结果是一个列表,其中前一个选择只有一个结果,并且 VDATE 为空。

所以对于下面的数据集

ID,人,状态,VDATE,计数(人),计数(VDATE)

1234, 9000, ND, 2014-04-24, 1, 1

1235, 9000, ND, , 2, 2

1236, 9001, CA, , 2, 2

1237, 9002, CA, , 2, 2

1238, 9002, NV, , 2, 2

1239, 9003, MD, 2014-04-24, 2, 2

我希望返回 1236、1237 和 1238

嗯,这可能是你所描述的:

select ID, PERSON, STATE, VDATE, count(PERSON), count(VDATE) 
from myTable  
where VDATE IS NOT NULL
group by PERSON, STATE, VDATE
UNION ALL
select NULL, NULL, NULL, NULL, count(PERSON), 0
from myTable
where VDATE IS NULL;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM