不同日期按年分组

Distinct Dates Group BY Year

如何使用 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(错误)-- 期望计数为 2 1 1 2016 –

DISTINCT 在您的查询中定位错误;你只需要:

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

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