当前月往前推十二个月,怎么区分某个月份是当年的月份还是去年的月份

当前月往前推十二个月,怎么区分某个月份是当年的月份还是去年的月份

用户4BJRR0884372 发布于 2021-10-28 16:44
1min目标场景问卷 立即参与
回答问题
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
linbodingLv6中级互助
发布于2021-10-28 16:46(编辑于 2021-10-28 17:02)

用年月啊,把年份带出来,用的时候用月份不就好了

mysql

-------------------

SELECT 

@s :=@s - 1 as `index`,

DATE_FORMAT(DATE_add(date_sub(CURDATE(),interval 1 month), INTERVAL @s MONTH),'%Y-%m') AS `ymon`,

DATE_FORMAT(DATE_add(date_sub(CURDATE(),interval 1 month), INTERVAL @s MONTH),'%m') AS `mon`

FROM 

(SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4)T1,

(SELECT 1 UNION SELECT 2 UNION SELECT 3)T2,

(SELECT @s := 1) temp

WHERE 

@s < 13

-------------------------

年月都有不就好判断了!

最佳回答
0
FuFuLv5初级互助
发布于2021-10-28 16:53

你这样,把某个月之前的所有月拿出来,按照日期倒序,然后取前12条数据就可以了

最佳回答
0
hotfog119Lv7初级互助
发布于2021-10-28 16:57
我这边用的oracle,一般都用add_months函数,MySQL 里面好像是ADDDATE()或者DATE_ADD()?你试一下 select add_months(sysdate,3) from dual

日期保留年月日。按月汇总的话,月份保留年,格式:YYYY-MM

  • 4关注人数
  • 615浏览人数
  • 最后回答于:2021-10-28 17:02
    请选择关闭问题的原因
    确定 取消
    返回顶部