informix 分组统计 left join
本帖最后由 jjcl521 于 2009-11-03 12:41:22 编辑
ID数量 类别
one3 1
one6 2
one8 1
two2 1
two5 1
--有table数据如此,
--转化为下面这样格式的数据sql语句怎么写呢?
ID总和类别为1总和类别为2的总和
one17116
two770
--求总和
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版本
[解决办法]
因为Informix 7.03 不支持case,case 是从7.3开始新增的特性
select A.ID,count(A.数量) as 总和,
(SELECT count(数量) FROM TT WHERE ID=A.ID AND 类别=1),
SELECT count(数量) FROM TT WHERE ID=A.ID AND 类别=2)
from tT A GROUP BY A.ID