当前位置: 代码迷 >> Informix >> informix 分组统计 left join解决方法
  详细解决方案

informix 分组统计 left join解决方法

热度:10814   发布时间:2013-02-26 00:00:00.0
informix 分组统计 left join
本帖最后由 jjcl521 于 2009-11-03 12:41:22 编辑


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版本



------解决方案--------------------------------------------------------
因为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
  相关解决方案