使用以下代码,我想确定在x位置发生中断的位置,是否在六个月前发布了警告声明。
在where子句中,我将Date_Sub
函数结果用作条件:
SELECT disruption.disruptionDate, warning.warningID, warning.warningDate
FROM disruption
JOIN warning ON disruption.locationId = warning.locationID
WHERE warning.warningDate <= disruption.disruptionDate
AND warning.warningDate. >= DATE_SUB(disruption.disruptionDate, INTERVAL 6 MONTH)
ORDER BY disruption.disruptionDate
表规格:
我遇到了性能问题,并认为可能是WHERE子句中的DATE_SUB
函数引起的。我在这里的研究几个月以来仅产生了Date_Sub作为减法。
有没有更有效的方式编写语句?
非常感谢您的帮助。