gpt4 book ai didi

Mysql date_sub 间隔12个月

转载 作者:行者123 更新时间:2023-11-30 23:12:08 25 4
gpt4 key购买 nike

我正在尝试获取上个月 12 个月的所有帖子,按月分组。我有一个非常正确的查询:

SELECT MONTH(time) as mois, YEAR(time) as annee, count(*) as nbre
FROM touist_stories
WHERE time >= DATE_SUB(now() + INTERVAL 1 MONTH, INTERVAL 2 YEAR)
group by MONTH(time)
order by YEAR(time) DESC, MONTH(time) DESC

但总是少了一个月:2012 年 11 月我试着添加

+ INTERVAL 1 MONTH

到现在()但它仍然丢失...我怎样才能得到上个月的 12 个而不是 11 个?谢谢

最佳答案

要获得一年前的数据,这是我过去使用过的一种技术。使用@mysql 变量,根据给定月份/年份的第一天创建一个日期(通过 now()),然后减去 12 个月。此示例将从 2012 年 10 月 1 日到当前 - 这将包括当前的 2013 年 10 月。要排除它,只需添加到我重新添加 1 年的 where 子句,以便它从 2012 年 10 月 1 日 12:00:00 开始我到 LESS THEN 2013 年 10 月 1 日 12:00:00。

SELECT 
MONTH(time) as mois,
YEAR(time) as annee,
count(*) as nbre
FROM
touist_stories,
( select @lastYear := date_add( DATE_FORMAT(NOW(),
'%Y-%m-01'), interval -11 month) ) sqlvar
WHERE
time >= @lastYear
group by
MONTH(time)
order by
YEAR(time) DESC,
MONTH(time) DESC

进行了修改以使其回溯 11 个月(例如,回溯到 11 月),并包括 UP TO AND INCLUDING 所有当前 10 月的事件。

关于Mysql date_sub 间隔12个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19401225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com