如果在过去12个月内没有发生任何记录,则MySQL选择查询

如果在过去12个月内没有发生任何记录,则MySQL选择查询,mysql,Mysql,我正在尝试创建一个Select查询,如果在过去12个月内没有同一列的记录,那么该查询将只显示早于12个月的行。例如,我的表格如下所示: 身份证件 苏皮德 拉斯夸尔 1. 1. 2019-01-08 2. 1. 2020-08-03 3. 7. 2019-09-14 您可以使用NOT EXISTS子句检查Qual中是否不存在日期在过去十二个月内的同一供应商id的记录: 选择 供应商id, 供应商,公司, 资格认证, 拉斯夸尔 从…起 供应商 左连接供应商上的Qual.id=Qual.supid 其

我正在尝试创建一个Select查询,如果在过去12个月内没有同一列的记录,那么该查询将只显示早于12个月的行。例如,我的表格如下所示:

身份证件 苏皮德 拉斯夸尔 1. 1. 2019-01-08 2. 1. 2020-08-03 3. 7. 2019-09-14 您可以使用NOT EXISTS子句检查Qual中是否不存在日期在过去十二个月内的同一供应商id的记录:

选择 供应商id, 供应商,公司, 资格认证, 拉斯夸尔 从…起 供应商 左连接供应商上的Qual.id=Qual.supid 其中Qual.lastqual<日期,间隔12个月 而且不存在 选择* 来自夸尔 其中supid=Suppliers.id和Qual.lastqual>=日期,间隔12个月 请注意,对于比较日期,使用CURDATE可能比现在更合适,CURDATE只返回当前日期,而NOW也返回当前时间作为值的一部分


工作起来很有魅力!我甚至现在都不知道notexists子句的存在。非常感谢@巴斯特:好消息。对不起,我已经更正了这个错误,并添加了一个演示链接。值得研究EXISTS和NOT EXISTS子句,它们是解决这类问题的非常有效的方法。