表t1如下:
xm date zc
甲 20180101 50
甲 20180205 50
甲 20180323 50
甲 20180427 50
甲 20180503 50
甲 20180618 50
乙 20180101 100
乙 20180205 100
乙 20180323 100
乙 20180427 100
乙 20180503 100
乙 20180618 100
结果要
姓名 一季度支出 二季度支出
甲 150 150
乙 300 300
语句怎么写?表t1如下:
xm date zc
甲 20180101 50
甲 20180205 50
甲 20180323 50
甲 20180427 50
甲 20180503 50
甲 20180618 50
乙 20180101 100
乙 20180205 100
乙 20180323 100
乙 20180427 100
乙 20180503 100
乙 20180618 100
结果要
姓名 一季度支出 二季度支出
甲 150 150
乙 300 300
语句怎么写?
xm date zc
甲 20180101 50
甲 20180205 50
甲 20180323 50
甲 20180427 50
甲 20180503 50
甲 20180618 50
乙 20180101 100
乙 20180205 100
乙 20180323 100
乙 20180427 100
乙 20180503 100
乙 20180618 100
结果要
姓名 一季度支出 二季度支出
甲 150 150
乙 300 300
语句怎么写?表t1如下:
xm date zc
甲 20180101 50
甲 20180205 50
甲 20180323 50
甲 20180427 50
甲 20180503 50
甲 20180618 50
乙 20180101 100
乙 20180205 100
乙 20180323 100
乙 20180427 100
乙 20180503 100
乙 20180618 100
结果要
姓名 一季度支出 二季度支出
甲 150 150
乙 300 300
语句怎么写?
when substring(date,5,2) between ('01,'03') then 1
when substring(date,5,2) between ('04,'06') then 2
when substring(date,5,2) between ('07,'09') then 3
else 4 end )as jd
from t1 group by xm,
(case
when substring(date,5,2) between ('01,'03') then 1
when substring(date,5,2) between ('04,'06') then 2
when substring(date,5,2) between ('07,'09') then 3
else 4 end )as jd)
select * from temp1
pivot(sum (xf) for jd in (1,2,3,4));试试吧,没实测。
注意 这种写法不走索引
sum(case when substr(date,5,4) >= '0101' and substr(date,5,4) <= '0330' then
zc else 0 end) as 一季度支出 ,
sum(case when substr(date,5,4) >= '0401' and substr(date,5,4) <= '0630' then
zc else 0 end) as 二季度支出
from t1
group by xm