对于以下数据:
日期|价值|检查
2009 | 5 | 1
2008 | 5 | 1
2007 | 5 | 1
2006 | 5 | 0
2005 | 5 | 0
2004 | 5 | 1
2003 | 5 | 1
2002年| 5 | 1
我需要从2009年开始选择所有行,直到检查列中第一次出现0:
日期|价值|检查
2009 | 5 | 1
2008 | 5 | 1
2007 | 5 | 1
我尝试了滞后功能,但我只能在一个月前检查.
我正在研究Oracle 10g.
更新:
一切似乎都运行良好,我的测试数据集太小,无法说出性能差异.
ken*_*418 13
SELECT * FROM mytable where date > (
SELECT max(date) FROM mytable where check = 0
)
Run Code Online (Sandbox Code Playgroud)