请考虑此表:
Id City Year Month F1 F2
-----------------------------------------
1 London 2012 1 10 05
2 London 2012 2 10 05
3 London 2012 3 10 05
4 Paris 2012 1 10 05
5 Paris 2012 2 10 06
6 Tokyo 2013 7 10 05
7 Tokyo 2013 8 10 05
8 Moscow 2013 1 10 05
9 Moscow 2013 3 10 05
我希望记录F2 = '05'
两个串联期间(年 - 月)。例如,对于上述数据,我想要这个结果:
Id City Year Month F1 F2
-----------------------------------------
1 London 2012 1 10 05
2 London 2012 2 10 05
6 Tokyo 2013 7 10 05
上面的每一行都有一个F2 = '05'
的记录,下一个句号(年 - 月)。我怎么能得到这个结果?
由于
答案 0 :(得分:1)
SELECT a.id, a.city, a.year, a.month, a.f1, a.f2
FROM mytable a, mytable b
WHERE ((b.month = a.month + 1 AND b.year = a.year)
OR (b.year = a.year + 1 AND a.month = 12 AND b.month = 1))
AND a.city = b.city AND b.f2 = '05';