sql - 滞后函数跳过以前有空的记录
问题描述
我正在尝试使用 lag 函数获取先前的值,但是它仅适用于在先前记录中填充的数据。我要做的是仅在存在空值时才跳过上一条记录,并在非空值之前查看上一条记录
Select LAG(previous_reference_no)OVER(ORDER BY createdon) FROM TableA
所以说如果我在记录 5,记录 4 为空,但记录 3 不为空。所以从记录 5 我想显示记录 4 的值。
希望这是有道理的,请帮助/
解决方案
添加一个PARTITION BY
子句?
Select LAG(previous_reference_no) OVER (PARTITION BY CASE WHEN previous_reference_no IS NULL THEN 0 ELSE 1 END
ORDER BY createdon)
FROM TableA
推荐阅读
- azure-storage - 帐户之间的 Azure 存储复制 - 按什么顺序?
- php - Zend 框架的版本是多少?
- ssl - 端到端加密 Nginx Ingress 控制器和 AWS NLB
- html - 在具有溢出属性的 div 内移动滚动部分
- python - 如何使所有条件(if,elif,else)在for循环中工作,在Python中使用try except
- c++ - “cc1plus: error: bad value ('tigerlake') for '-march=' switch” 编译错误
- mysql - 如何将选择查询设置为变量并在mysql的另一个选择查询中使用它
- angular - 在输入元素事件中添加去抖动时间,angular10
- apache-nifi - Nifi:无法提交 AWSCredentialsProviderControllerService 的访问密钥和密钥
- matlab-deployment - Matlab 函数接受 1 个参数,Java 调用者提供 2 个参数