表A
时间 市区代码 区县代码 一级类别 二级类别 三级类别 数量
time area1_id area2_id type1_id type2_id type_3_id num
200601 101 201 01 0102 010203 10
200601 101 201 01 0102 010204 20
200601 101 201 01 0103 010203 30
200601 101 201 02 0203 020203 40
200601 101 201 04 0402 040203 50
200602 101 201 01 0102 010203 15
200602 101 201 01 0102 010204 25
200602 101 201 01 0103 010303 20
200602 101 201 02 0203 020303 40
200602 101 201 04 0402 040203 40
......
......想得到如下结果: 2月份比1月份各地区各类别的变化数
time area1_id area2_id type1_id type2_id type_3_id add_num
200602 101 201 01 0102 010203 5
200602 101 201 01 0102 010204 5
200602 101 201 01 0103 010303 -10
200602 101 201 02 0203 020303 0
200602 101 201 04 0402 040203 -10
时间 市区代码 区县代码 一级类别 二级类别 三级类别 数量
time area1_id area2_id type1_id type2_id type_3_id num
200601 101 201 01 0102 010203 10
200601 101 201 01 0102 010204 20
200601 101 201 01 0103 010203 30
200601 101 201 02 0203 020203 40
200601 101 201 04 0402 040203 50
200602 101 201 01 0102 010203 15
200602 101 201 01 0102 010204 25
200602 101 201 01 0103 010303 20
200602 101 201 02 0203 020303 40
200602 101 201 04 0402 040203 40
......
......想得到如下结果: 2月份比1月份各地区各类别的变化数
time area1_id area2_id type1_id type2_id type_3_id add_num
200602 101 201 01 0102 010203 5
200602 101 201 01 0102 010204 5
200602 101 201 01 0103 010303 -10
200602 101 201 02 0203 020303 0
200602 101 201 04 0402 040203 -10
[num]=sum(case time when '200601' then -num when '200602' then num end)
from 表A where time='200602'
group by time,area1_id,area2_id,type1_id,type2_id,type_3_id
from 表A
group by area1_id , area2_id , type1_id , type2_id , type_3_id
where time='200602' and time='200601'
'200602' as time,
area1_id,
area2_id,
type1_id,
type2_id,
type_3_id,
sum(case time when '200601' then -num when '200602' then num else 0 end) as num
from
表A
group by
area1_id,area2_id,type1_id,type2_id,type_3_id