mysql当前时间往前一年
时间: 2023-09-04 20:14:38 浏览: 182
要查询MySQL当前时间往前一年的数据,可以使用以下SQL语句:
```sql
SELECT t.months, t.num
FROM (
WITH RECURSIVE months(months, num) AS (
SELECT DATE_FORMAT(DATE_SUB(CURDATE() - INTERVAL 1 MONTH, INTERVAL 1 YEAR), '%Y%m') AS 'months', 1 AS num
UNION ALL
SELECT DATE_FORMAT(DATE_SUB(CURDATE() - INTERVAL 1 MONTH, INTERVAL num MONTH), '%Y%m') AS 'months', num + 1 AS num
FROM months
WHERE num < 12
)
SELECT months, num
FROM months
) t;
```
这个查询语句使用了递归CTE(Common Table Expressions)来生成从当前时间往前推一年的月份数据。其中,`months`是一个递归表达式,它从当前日期开始,每次减去一个月,直到减去11个月为止。最后的查询语句从递归表达式中选择了需要的月份数据。
请注意,这个查询语句返回的是每个月份的数据,如果你需要其他数据,可以根据需要进行修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [mysql如何实现获取本年前一个月往前推一年的时间](https://blog.csdn.net/weixin_46448867/article/details/129199630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [mysql 在数据时间到期时候进行自动增加一年操作](https://blog.csdn.net/weixin_28686915/article/details/115882768)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文