我有一个包含年份和电影ID的表格,并且每年我都要获得该年度10年内ID的计数。sql选择一个移动范围
例如如果我有数据: 年| ID 1950年1 1951年2 1960年1
我希望回到 一年|算上 1950年3 1951年3 1960年1
我想我可以做这样的
select m1.year, count(m1.id)
from movie m1
join movie m2
on m1.id=m2.id
where m2.year>=m1.year
and m2.year<=m1.year+9
group by m1.year
order by m1.year;
但这只是返回的电影每年(或似乎是,因为结果是相同的选择年,从电影组开始计数(id)逐年;)
我做错了什么?
侧面说明:你可以写'其中m2 .year - m1.year BETWEEN 0 AND 9' – Benoit 2012-02-03 06:30:56