sql - 创建时间超过 +90 天的记录
问题描述
我有一个从工人那里收集工作时间报告的数据库,并且我被要求为最后报告日期大于 90 天的有效合同的特定部门创建警报
我有包含条目的 ReportDate 列,但我不确定如何在不使用 GETDATE 函数的情况下创建不同的列
如前所述,我尝试了 getdate 函数,在这种情况下显然无效
(不是代码,但需要查询)选择不同的(newcontractid),其中最后一个 ReportDate 大于 90 天......
解决方案
你似乎想要这样的东西:
select contractid
from t
where t.status = 'active' -- whatever this is
group by contractid
having max(reportdate) < current_date - interval '90 day';
这使用标准 SQL 语法。在 MySQL 中,日期函数为:
having max(reportdate) < current_date - interval 90 day;
在 SQL Server 中:
having max(reportdate) < dateadd(day, -90, getdate())
推荐阅读
- html - 浮动后链接和品牌名称未对齐 - 纯 CSS
- powershell-ise - Powershell ISE 中的自定义键盘快捷键
- arrays - 非法偏移类型(Laravel)
- sql-server - SparkSQL MS SQL Server,编译后得到消息“没有合适的驱动程序”
- php - 在 SQL 中显示消息列表
- android - Gradle 和 minifyEnabled 错误问题:app:transformClassesAndResourcesWithProguardForRelease'
- django - Django:“SessionStore”对象没有“会话”属性
- python - 使用 pandas 的分钟速率时间序列图
- node.js - Mongodb graphQL和Feather js数据通过_id获取在某些情况下返回null
- c++ - C ++ - For循环不循环