select a.code,a.color, [44]=sum(case 数量 when 44 then 1 else 0 end), [55]=sum(case 数量 when 55 then 1 else 0 end), [66]=sum(case 数量 when 66 then 1 else 0 end), [77]=sum(case 数量 when 77 then 1 else 0 end), [88]=sum(case 数量 when 88 then 1 else 0 end) from [view] as a group by a.code,a.color
然后把这张表作为统计信息表,今后每次业务修改或者增加、删除view的数据,同时更新统计信息表,化整为零法。
对经常需要的查询可以这么设计。
或许你的应用做不到,但我觉得这么做是一劳永逸的事情
[44]=sum(case 数量 when 44 then 1 else 0 end),
[55]=sum(case 数量 when 55 then 1 else 0 end),
[66]=sum(case 数量 when 66 then 1 else 0 end),
[77]=sum(case 数量 when 77 then 1 else 0 end),
[88]=sum(case 数量 when 88 then 1 else 0 end)
from [view] as a group by a.code,a.color