检查数据出现频率

时间:2015-02-27 22:29:55

标签: sql oracle oracle11g

我有一张桌子

Date          name   interest
19990221      xxx     2.2
20110210      xxx     2.1
...
19940922      yyy     3.3
20130930      yyy     3.3
...

如果日期是离散的,并非每个名字每年都有兴趣。我想回复过去10年里每年都有兴趣的名字。该怎么做?

1 个答案:

答案 0 :(得分:2)

您的日期看起来不像日期。让我假设它们是字符串:

select name
from table t
where to_number(substr(date, 4)) >= extract(year from sysdate) - 9
group by name
having count(distinct substr(date, 4)) = 10;

如果date真的是date,你会应用类似的逻辑,但函数会有所不同。