我对此进行了很多思考,但找不到答案,而且我不太擅长SQL查询。
表1:
id | month
_________________
123 | 11/2015
124 | 11/2015
123 | 12/2015
124 | 12/2015
125 | 12/2015
我需要一个查询,该查询为我提供每月的新ID数量。 在示例中,我想输出:
#id | month
_________________
2 | 11/2015
1 | 12/2015
因为“ 123”和“ 124”在11/2015中,所以2 因为“ 125”不在12/2015中,所以1
对不起,如果我不清楚,我尝试使用自连接和滞后查找它,但找不到答案
谢谢
答案 0 :(得分:2)
您可以使用not exists
过滤掉上个月已经出现的id
,然后进行汇总:
select count(*) id_cnt, t.month
from mytable t
where not exists (
select 1
from mytable t1
where t1.id = t.id
and t1.month < t.month
)
group by t.month