查询求差值

我想用命令 查询 19年与22年的数据并求差值  数据库里都有时间 怎么用命令查找并求差值 mysql

FineReport 帆软用户A5K1Xo5JDb 发布于 2023-4-13 16:59
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-4-13 17:10

mysql如果是8.0的话。是支持with语句,,不然的话。你得写多个子查询,分别计算出19与22年数据。再子查询

select 

a.酒店名称,

a.堂食,

a.团餐,

a.外卖,

c.22年餐饮收入-b.19年餐饮收入

 from  类型维度表 a/*这个类型维度表你自己有就加上,不然要用业务表来实现了*/

left join (

SELECT 

酒店名称,

堂食,

团餐,

外卖,

ifnull(sum(堂食),0)+ifnull(sum(团餐),0)+ifnull(sum(外卖),0)+ifnull(sum(会议),0) as 19年餐饮收入 

FROM `财务档案` where year(时间) = 2019 

group by 酒店名称,堂食,团餐,外卖) b on a.酒店名称=b.酒店名称 and a.堂食=b.堂食 and a.团餐=b.团餐 and a.外卖=b.外卖

left join (SELECT 

酒店名称,

堂食,

团餐,

外卖,

ifnull(sum(堂食),0)+ifnull(sum(团餐),0)+ifnull(sum(外卖),0)+ifnull(sum(会议),0) as 22年餐饮收入 

FROM `财务档案` where year(时间) = 2022 

group by 酒店名称,堂食,团餐,外卖) c  on a.酒店名称=c.酒店名称 and a.堂食=c.堂食 and a.团餐=c.团餐 and a.外卖=c.外卖

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