简体   繁体   English

MySQL获取日期大于8个月的记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM