sql - 基于开始日期和上一个结束日期设置标志的 SQL 查询
问题描述
我试过搜索这个,但没有什么与我正在寻找的东西真正匹配,所以任何帮助表示赞赏!
我想要的是有一个表达式或标志,如果TASK ID的前一个关闭日期和当前开始日期之间的天数小于 10,则它应该返回 true 。
例如上表应如下所示
注意:我只有只读访问权限,因此“更新查询”和“创建新表”查询不适用于我的情况。
解决方案
在 SQL Server 中,您可以使用lag()
:
select t.*,
(case when lag(close_date) over (partition by task_id) < dateadd(day, -10, close_date)
then 1 else 0
end) as flag
from t;
推荐阅读
- mapping - 合同修改映射数据时web3js发送交易失败,但重新混合工作
- micronaut - Can you alter a Micronaut App features from the command line?
- c - 在导致分段错误的字符串文字上使用 strtol
- apache-spark - 如何在 Spark 数据帧上训练神经网络自动编码器(Keras)
- java - 应用主题在预览中显示,但在手机上不显示
- java - ZXing Android Embedded GS-1 支持
- python - 出现错误:无法读取 python selenium 中未定义的属性“单击”
- php - 在会话中编辑值
- php - Composer Yii2 Bower:要发布的文件或目录不存在:C:\myProject\vendor\bower/jquery/dist
- sql - 即使当天/周/月没有数据也返回结果