如何取值限制年份,取值月份

select 

    a.门店,a.月收入,a.mt 月份,b.mt 上月, a.月收入/b.月收入 - 1 环比,'环比' 类别

    

from 

(select 

    门店,

    date_format(日期, '%Y-%m') mt,

    sum(总收入) 月收入

from 多店营业汇总表

group by 门店, date_format(日期, '%Y-%m')) a

left join (select 

    门店,

    date_format(日期, '%Y-%m') mt,

    sum(总收入) 月收入

from 多店营业汇总表

group by 门店, date_format(日期, '%Y-%m')) b

on a.门店 = b.门店

and date(concat(a.mt, '-01')) = date_add(concat(b.mt, '-01'), interval 1 month)

where a.门店='${门店}'

yzm257507 发布于 2021-3-25 16:59
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-9-29 14:31

SELECT

a.门店,

a.月收入,

a.mt 月份,

b.mt 上月,

a.月收入 / b.月收入 - 1 环比,

'环比' 类别

FROM

(

SELECT

门店,

date_format(日期, '%Y-%m') mt,

sum(总收入) 月收入

FROM

多店营业汇总表

GROUP BY

门店,

date_format(日期, '%Y-%m')

) a

LEFT JOIN (

SELECT

门店,

date_format(日期, '%Y-%m') mt,

sum(总收入) 月收入

FROM

多店营业汇总表

GROUP BY

门店,

date_format(日期, '%Y-%m')

) b ON a.门店 = b.门店

AND date(concat(a.mt, '-01')) = date_add(

concat(b.mt, '-01'),

INTERVAL 1 MONTH

)

WHERE

a.门店 = '${门店}' and DATE_FORMAT(CONCAT(a.mt,"-01"),"%Y") ='${年份}'

————————————————————————————

最佳回答
0
sysdbaLv5见习互助
发布于2021-3-25 17:14

sql的话可以加where条件

  • yzm257507 yzm257507(提问者) 我不是要去某个日期的值,我是要取以年份筛选每个月的值
    2021-03-25 17:36 
  • 黄浩123 黄浩123 回复 yzm257507(提问者) 你取出的mt(年月)值,利用SUBSTRING函数截取你想要的年或者月
    2021-03-26 09:31 
  • 用户kCCpJ0269548 用户kCCpJ0269548 回复 郭大王1(提问者) where 年份=2001 group by 月份
    2021-09-29 15:26 
  • 3关注人数
  • 497浏览人数
  • 最后回答于:2021-9-29 14:31
    请选择关闭问题的原因
    确定 取消
    返回顶部