2017-01-11 43 views
-1

数多组结果的数目我有一个SQL语句如何通过

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

我感兴趣的VDATE。可能有空白VDATE和可能超过VDATE的记录。

我的理想结果是一个列表,其中只有一个结果来自上一个选择AND VDATE为空。

所以对于以下数据集

ID,PERSON,州VDATE,计数(人),计数(VDATE)

1234,9000,ND,2014年4月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,医学博士,2014年4月24日,2,2

我想1236,1237和1238返回

+1

编辑你的问题,并提供样本数据和所需的结果。 –

+0

请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-询问 – Strawberry

回答

0

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

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;