mysql获取时间间隔内的每个月1号日期数据
时间: 2024-09-29 21:02:20 浏览: 41
MySQL日期数据类型、时间类型使用总结
5星 · 资源好评率100%
在MySQL中,如果你想获取特定时间段内每个月的第一天(1号)的日期数据,可以使用`DATE()`函数结合`BETWEEN`关键字和`LAST_DAY()`函数。假设你需要从`your_table`表中的`date_column`列获取2022年1月1日到2022年12月31日之间的每月1号,你可以使用以下SQL查询:
```sql
SELECT DATE('2022-01-01') + INTERVAL number DAY
FROM (
SELECT @row_number:=@row_number+1 as row_number, date_column
FROM your_table
JOIN (SELECT @row_number:=0) r
WHERE date_column BETWEEN '2022-01-01' AND '2022-12-31'
ORDER BY date_column
) t
WHERE t.row_number % MONTH(@cur_date) = 1
```
这里,我们首先创建了一个临时表t,通过自增变量`@row_number`获取每个日期的行数,并按日期排序。然后我们在外部查询中筛选出每个月的第一天,`number`是一个循环变量,`MONTH(@cur_date)`表示当前日期所在的月份,通过模运算确定是否为该月第一天。
阅读全文