如何使用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日 -
答案 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(...)
没有意义。