select 名称,count(*),sum(重量),sum(金额),
case 状态 when 已售 then count(*) else 0 end,
sum(case 状态 when 已售 then 重量 else 0 end),
sum(case 状态 when 已售 then 金额 else 0 end),
case 状态 when 可售 then count(*) else 0 end,
sum(case 状态 when 可售 then 重量 else 0 end),
sum(case 状态 when 可售 then 金额 else 0 end)
from 表
group by 名称
case 状态 when 已售 then count(*) else 0 end,
sum(case 状态 when 已售 then 重量 else 0 end),
sum(case 状态 when 已售 then 金额 else 0 end),
case 状态 when 可售 then count(*) else 0 end,
sum(case 状态 when 可售 then 重量 else 0 end),
sum(case 状态 when 可售 then 金额 else 0 end)
from 表
group by 名称
select b.名称,count(*),sum(b.重量),sum(b.金额),
(select conut(*) from 表 a where a.名称=b.名称 and a.状态=已售),
sum(case b.状态 when 已售 then b.重量 else 0 end),
sum(case b.状态 when 已售 then b.金额 else 0 end),
(select conut(*) from 表 c where c.名称=b.名称 and c.状态=已售),
sum(case b.状态 when 可售 then b.重量 else 0 end),
sum(case b.状态 when 可售 then b.金额 else 0 end)
from 表 b
group by 名称