[英]MySQL Get records where date is greater 8 months
How do I get the records from a MySQL database where 'Last_updated' is greater than "8 months" or ("date is null") and ('Number_of_employees' is less and equal to 500)? 如何从MySQL数据库中获取记录,其中'Last_updated'大于“8个月”或(“date is null”)和('Number_of_employees'小于等于500)?
Table details: 表详情:
CREATE TABLE `companies` (
`company_id` int(11) NOT NULL AUTO_INCREMENT,
`company_name` varchar(255) NOT NULL COMMENT,
`Number_of_employees` int(11) NOT NULL,
`Last_updated` datetime NOT NULL,
PRIMARY KEY (`company_id`),
UNIQUE KEY `Company_Name` (`company_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
This is what I have so far: 这是我到目前为止:
SELECT * FROM companies WHERE Last_updated < (now() - interval 8 month);
Try this: 尝试这个:
SELECT *
FROM companies
WHERE Number_of_employeesless <= 500 AND
(Last_updated IS NULL OR DATE(Last_updated) >= (CURRENT_DATE() - INTERVAL 8 MONTH));
OR 要么
SELECT *
FROM companies
WHERE Number_of_employeesless <= 500 AND
(Last_updated IS NULL OR DATE(Last_updated) >= DATE_SUB(CURRENT_DATE(), INTERVAL 8 MONTH));
This should do the trick: 这应该做的伎俩:
SELECT * FROM companies
WHERE last_updated > (now() - INTERVAL 8 MONTHS)
AND number_of_employeesless <= 500
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.