首页 > 解决方案 > 获取当前周的记录,不包括当前周的未来日期

问题描述

这是我获取本周订单的 SQL:

SELECT * FROM orders 
WHERE YEARWEEK(order_date, 1) = YEARWEEK(CURDATE(), 1) 
ORDER BY order_date DESC;

但问题是它还选择了本周未来日期的记录。如何阻止它?

标签: mysqlsql

解决方案


只需在当前日期添加一个条件:

SELECT o.*
FROM orders o
WHERE YEARWEEK(order_date, 1) = YEARWEEK(CURDATE(), 1) AND
      order_date <= CURDATE()
ORDER BY order_date DESC;

推荐阅读