给定这个示例数据集:
-----------------------------
| item | date | val |
-----------------------------
| apple | 2012-01-11 | 15 |
| apple | 2012-02-12 | 19 |
| apple | 2012-03-13 | 7 |
| apple | 2012-04-14 | 6 |
| orange | 2012-01-11 | 15 |
| orange | 2012-02-12 | 8 |
| orange | 2012-03-13 | 11 |
| orange | 2012-04-14 | 9 |
| peach | 2012-03-13 | 5 |
| peach | 2012-04-14 | 15 |
-----------------------------
我正在寻找对于每个项目的查询,它将选择val低于CONST=10的第一个日期,之后不再返回。在这个例子中,这将是:
-----------------------------
| item | date | val |
-----------------------------
| apple | 2012-03-13 | 7 |
| orange | 2012-04-14 | 9 |
-----------------------------
这甚至可以不使用游标吗?我在 Sybase 中寻找这个。
如果没有游标这是不可能的,我可以用编程语言处理记录。然而,在那种情况下,由于在我的真实用例中完整的历史很长,我需要一个“合适的”查询,它只选择“足够”的记录来计算我最终想要的记录:val低于CONST的最新记录没有回到它上面。