mysql 根据日期每三天一次求其他列的和
时间: 2023-09-05 21:07:11 浏览: 46
您可以使用 MySQL 中的日期函数 `DATE_FORMAT` 和 `MOD` 来实现每三天求其他列的和的操作。具体的 SQL 语句如下:
```sql
SELECT SUM(column_name) FROM table_name WHERE MOD(DATEDIFF(NOW(), date_column), 3) = 0;
```
其中,`table_name` 是您要查询的表名,`column_name` 是您要求和的列名,`date_column` 是记录日期的列名。该语句的作用是查询距离当前日期相差 3 的倍数天的所有记录的 `column_name` 列的和。
如果您想要查询距离某个指定日期相差 3 的倍数天的所有记录的 `column_name` 列的和,可以使用以下的 SQL 语句:
```sql
SELECT SUM(column_name) FROM table_name WHERE MOD(DATEDIFF(NOW(), date_column), 3) = MOD(DATEDIFF(NOW(), 'start_date'), 3);
```
其中,`start_date` 是您指定的日期,该语句的作用是查询距离 `start_date` 相差 3 的倍数天的所有记录的 `column_name` 列的和。
相关问题
mysql语句列出每一天的日期
你可以使用MySQL的DATE函数和生成序列的方式来列出每一天的日期,如下所示:
```
SELECT DATE('2022-01-01') + INTERVAL seq DAY AS date
FROM (
SELECT @row := @row + 1 AS seq
FROM information_schema.columns, (SELECT @row:=0) r
LIMIT 365 -- 根据需要修改天数
) days
```
这将生成从2022-01-01开始的一年内的日期。你可以根据需要修改起始日期和天数。
mysql当前日期减少三天
以下是两种MySQL当前日期减少三天的实现方法:
1. 使用DATE_SUB函数:
```sql
SELECT DATE_SUB(NOW(), INTERVAL 3 DAY) AS new_date;
```
这个查询将返回当前日期减去三天的结果。
2. 使用嵌套的DATE_SUB函数:
```sql
SELECT DATE_SUB((DATE_SUB(NOW(), INTERVAL 3 DAY)), INTERVAL 1 MONTH) AS new_date;
```
这个查询将返回当前日期减去三天再减去一个月的结果。