欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

db2 分组前几条数据,分组取最后几条数据 db2 

程序员文章站 2022-06-07 10:54:19
...
项目中需要分组取某个值最近的前2条数据
比如表
a(id,name,num)
数据
1  a  1
2  a  1
3  a  3
4  b  1
5  b  6
6  b  5
7  b  7


需求 :已知参数 id 为2,6
查询出相同name,最接近num的前2个的数据
结果:
1 a 1
2 a 1
4 b 1
6 b 5
------------
思路
1、排序并加入分组行号(列a)
2、加入当前id分组行号(列b)
3、根据分组行号比较

模拟过程
1、结果
1  a  1 1
2  a  1 2
3  a  3 3
4  b  1 1
6  b  5 2
5  b  6 3
7  b  7 4
2、结果 (id=2的行号是2,id=6的行号也是2)
1  a  1 1 2
2  a  1 2 2
3  a  3 3 2
4  b  1 1 2
6  b  5 2 2
5  b  6 3 2
7  b  7 4 2
3、通过列a和列b
条件 列a<=列b and 列a>=列b-2
结果出来:
1 a 1
2 a 1
4 b 1
6 b 5

相关标签: db2