[英]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.