表结构如下
machine inout num
a 0 100
a 0 100
a 1 100
a 1 100
b 0 150
b 0 150
b 1 150
b 1 150
........................
想以machine字段分组查询,查询结果如下
a 200(inout=0之和) 200(inout=1之和)
b 300(inout=0之和) 300(inout=1之和)
如果记录a的inout字段全是0或1,应能返回如下形式,例如上表中a的inout字段全是0,
a 400(inout=0之和) 0(inout=1之和)
------解决方案--------------------
- SQL code
select machine,sum(case when inout=0 then num else 0 end) inout_0,sum(inout*num) inout_1from 表group by machine