jjcl521 发表于 2009-11-03 12:41

informix 分组统计 left join 【悬赏2分】


ID    数量   类别
one    3   1
one    6   2
one    8   1
two    2   1
two    5   1

有table数据如此,
转化为下面这样格式的数据sql语句怎么写呢?




ID    总和    类别为1总和    类别为2的总和
one    17      11      6
two    7      7      0


--求总和

select ID,count(数量) as 总和 from table

group by ID

--求类别为1的和

select ID,count(数量) as 类别为1的和 from table

where 类别=1

group by ID

--求类别为2的和

select ID,count(数量) as 类别为2的和 from table

where 类别=1

group by ID

上面三个sql语句怎么连到一块呢,或创建个视图?informix7.03版本


[ 本帖最后由 jjcl521 于 2009-11-3 19:47 编辑 ]

alcatel 发表于 2009-11-03 21:40

select ID,sum(数量),sum(case when 类别 = 1 then 数量 else 0 end),sum(case when 类别 = 2 then 数量 else 0 end)
from table
group by ID
页: [1]
查看完整版本: informix 分组统计 left join 【悬赏2分】