SQL每个组中的小计

时间:2018-11-27 08:06:38

标签: sql group-by sybase-ase subtotal

我所在时区的早安

我的目标是:

TYPE |  CODE | PRICE | QUANTITY
A       10      34       1
A       11      20       2
A       15      17       2
A       Total   71       5
B       13      14       1
B       10      24       2
B      Total    38       3

我使用的是Sybase ASE 15.5版,因此没有ROLLUP或CUBE运算符。 光标是我唯一的方法吗?

预先感谢 最好的问候

1 个答案:

答案 0 :(得分:0)

您可以在union all中使用这样的SQL语句(排序对于您的目标很重要):

select q.*
  from
  (
    select type, cast(code as char(5)) as code, price, quantity
      from tab
    union all
    select type, 'Total', sum(price), sum(quantity) 
      from tab
    group by type
  ) q
  order by type, code

我要在 SQL Server 中添加一个Demo,但语法都适用。