永洪社区

标题: 数据库 [打印本页]

作者: xiazhijiu    时间: 2022-5-25 08:33
标题: 数据库
取字段pmc等于空值时此行的上5行和下4行数据,请问如何实现?


作者: speedy    时间: 2022-5-25 09:58
您好,您可以对日期时间进行筛选,15:03:58-15:09:07
作者: xiazhijiu    时间: 2022-5-28 17:04
speedy 发表于 2022-5-25 09:58
您好,您可以对日期时间进行筛选,15:03:58-15:09:07

有几十万行数据,字段pmc为空的行数很多,并不是所以的都是这个时间段。
作者: 永洪tech-程前    时间: 2022-5-28 17:24
这是一个SQL逻辑问题,核心就是定位空行这列,并能识别上5行下4行。
参考方法如下:
1、新增一列序号列,可以在数据库加,也可以定位类似作用的列
2、查询语句定位,如
select * from table t1
left join
(select 序号列 from table where pmc is null) t2
on t1.序号列>=t2.序号列-5 and t1.序号列<=t2.序号列+4 and t1.序号列<>t2.序号列
解析:假设pmc为空的序号为6,那实际想获取的就是序号为1到10且不等于6的数据条目,代入上面的示例sql。序号为1的数据行满足>=1 且 <=10 且 不等于6,数据行被过滤出来。其他序号同理。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4