【发布时间】:2015-10-07 21:40:46
【问题描述】:
我有一张这样的桌子:
Brand | Type | Units
Sony | TV | 5
Toshiba | TV | 4
Sony | Radio | 1
Toshiba | Radio | 10
我想要这样:
Type | Brand | Units
Radio | Toshiba | 10
Radio | Sony | 1
TV | Sony | 5
TV | Toshiba | 4
也就是说,按类型、品牌基于类型的数量(10+1 vs 5+4)然后按单位数量(10 vs 1 & 5与 4).
您认为实现这一目标的最佳方法是什么?
我尝试了以下方法,在每个组下添加了一个小计:
select Type, Brand, sum(Units) from mytable
group by Type, Brand, sum(Units) WITH ROLLUP
Type | Brand | sum(Units)
Radio | Toshiba | 10
Radio | Sony | 1
Radio | null | 11
TV | Sony | 5
TV | Toshiba | 4
TV | null | 9
null | null | 20
但我看不到按这些小计排序的方法。
【问题讨论】:
-
加入派生表(带有别名的子查询)以获取小计。然后你可以通过他们订购。