截止日期不同的日期组

时间:2017-05-09 09:46:17

标签: oracle group-by distinct using

如何使用Oracle查找一年中的不同日期?

id    sent_date
1     2017-05-01 
1     2017-05-01 
1     2017-06-01
1     2016-06-01

在同一年内忽略Id的重复sent_date。

输出

count(*)   id   year
2           1   2017
1           1   2016

修改

这是我的查询

select distinct(count(sent_date)), id , extract (year from sent_date)
from test
GROUP BY id, extract (year from sent_date). 

3 1 2017(错误) - 期望计数为2016年1月1日 -

1 个答案:

答案 0 :(得分:2)

DISTINCT错误地位于您的查询中;你只需要:

select count(distinct sent_date), id , extract (year from sent_date)
from test
group by id, extract (year from sent_date)

此外,DISTINCT不是函数,因此语法DISTINCT(...)没有意义。