sql写出有数据的近三天,要略过周末
时间: 2024-03-27 09:40:14 浏览: 197
你好!针对你的问题,可以使用以下 SQL 语句查询有数据的近三天,略过周末:
```
SELECT * FROM your_table
WHERE your_date_column >= DATE_SUB(CURDATE(), INTERVAL IF(DAYOFWEEK(CURDATE()) = 2, 3, 1) DAY)
AND your_date_column < CURDATE()
AND DAYOFWEEK(your_date_column) NOT IN (1,7);
```
其中,`your_table` 和 `your_date_column` 分别替换成你的表名和日期列名。这条 SQL 语句的作用是:
- `CURDATE()` 函数获取当前日期。
- `DAYOFWEEK()` 函数获取当前日期的星期几,星期天为 1,星期一为 2,以此类推。
- `IF()` 函数判断当前日期是否为周一,如果是,则需要查询三天前(即包括周六和周日),否则只需要查询昨天和前天两天的数据。
- `DATE_SUB()` 函数根据上一步判断的天数进行日期减法操作,获取需要查询的起始日期。
- `AND` 条件筛选出日期在起始日期到昨天之间且非周末的数据。
希望能够帮到你!如果还有其他问题,请继续提问。
阅读全文