查询符合条件的记录和下一条记录

【问题】

1png

【回答】

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]))

A3 所得结果如下:

1png

集算器提供 JDBC 接口,可以像数据库一样嵌入到应用程序中,用起来很简单,可参考Java 如何调用 SPL 脚本