查询符合条件的记录和下一条记录
【问题】
【回答】
Mysql 不支持窗口函数,对这种有序的计算要使用子查询完成,比如可以这样写:select * from t0055 t1 where 属性 2 >100 or 日期 in (select 日期 +1 from t0055 where 属性 2>100)
但这个查询是建立在日期连续的基础上,如果日期不连续,还需要人为造个序号,需要再做一层嵌套。
这种情况建议使用 SPL 来实现,SPL 支持有序计算,无论日期是否连续写起来都很简单,代码如下:
A |
|
1 |
$select * from t0055 order by 日期 |
2 |
=A1.pselect@a(属性 2>100) |
3 |
=A1(A2.conj([~,~+1])) |
集算器提供 JDBC 接口,可以像数据库一样嵌入到应用程序中,用起来很简单,可参考Java 如何调用 SPL 脚本。