sql取出最近1年每个月的月尾
时间: 2024-10-10 12:16:40 浏览: 27
2022年SQL语句简单面试题.doc
SQL查询以获取过去一年每个月的最后一天,通常涉及到日期函数和当前日期的减法。这个查询可能会根据你使用的数据库系统有所不同,这里以MySQL为例给出一个通用的示例:
```sql
SELECT DATE_ADD(CURDATE(), INTERVAL -1 YEAR, INTERVAL DAY(NOW()) - 1 DAY) as month_end
FROM your_table
WHERE DATE_FORMAT(date_column, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 1 YEAR, '%Y-%m');
```
在这个查询中:
- `CURDATE()` 返回当前日期。
- `INTERVAL -1 YEAR` 表示从现在往前数一年。
- `DAY(NOW()) - 1 DAY` 计算出当前日期是一年中的哪一天,然后减去一天得到该月的最后一天。
- `DATE_FORMAT(date_column, '%Y-%m')` 用于提取日期字段的年月部分。
- `= DATE_FORMAT(..., '%Y-%m')` 筛选出去年对应月份的数据。
请注意将`your_table`替换为你实际的数据表名,`date_column`替换为表中存储日期的列名。
阅读全文