我试着回到介于年份之间的行,比如从0到5年,5-10年,10-15年等等。
到目前为止,我只能在0-5之间生产产品,但是在5-10年之间的查询方面需要一些帮助等等。
SELECT *
FROM users
WHERE start_date >= DATE_SUB(NOW(),INTERVAL 5 YEAR)我试过使用中间函数,但可能使用不正确。愿意接受建议。
我不喜欢为日期编写硬编码值,因为我不想每隔几年就去修改一次。
发布于 2017-11-15 23:03:19
假设start_date是日期数据类型(不是日期时间或时间戳)
五年前至今
WHERE start_date > DATE(NOW()) + INTERVAL -5 YEAR
AND start_date <= DATE(NOW()) + INTERVAL 0 YEAR十年前到五年前
WHERE start_date > DATE(NOW()) + INTERVAL -10 YEAR
AND start_date <= DATE(NOW()) + INTERVAL -5 YEAR发布于 2017-11-15 23:03:17
您可以使用BETWEEN。
SELECT *
FROM users
WHERE (start_date BETWEEN NOW() AND DATE_SUB(NOW(), INTERVAL 5 YEAR))然后在你的下一次间歇:
SELECT *
FROM users
WHERE (start_date BETWEEN DATE_SUB(NOW(), INTERVAL 5 YEAR) AND DATE_SUB(NOW(), INTERVAL 10 YEAR))发布于 2017-11-15 23:05:05
0-5
SELECT * FROM users
WHERE
start_date BETWEEN (CURDATE() - INTERVAL 5 YEAR) AND CURDATE();5- 10
SELECT * FROM users
WHERE
start_date BETWEEN (CURDATE() - INTERVAL 10 YEAR) AND (CURDATE() - INTERVAL 5 YEAR);10 - 15
SELECT * FROM users
WHERE
start_date BETWEEN (CURDATE() - INTERVAL 15 YEAR) AND (CURDATE() - INTERVAL 10 YEAR);https://stackoverflow.com/questions/47318743
复制相似问题