不知道题主的数据是否不全还是测试数据,如果按第三点加上单位名称查询的话单纯上面数据看不出同比,我这里就没加单位名称了哈,如果需要直接加上单位名称分组聚合即可。
select
t1.entry_date,
t1.entry_qty,
t1.leave_qty,
t2.entry_qty as entry_qty_ly,
t2.leave_qty as leave_qty_ly
from
(
select
entry_date,
entry_qty,
leave_qty
from tmp_test_20220824_01
) t1
left outer join
(
select
entry_date,
entry_qty,
leave_qty
from tmp_test_20220824_01
) t2
on concat(t1.entry_date,'-01') = date_add(concat(t2.entry_date,'-01'),interval 1 year)
;