0

有没有办法将 2 个查询排序到一个结果集中?

更具体地说,如果我有 2 个查询:

select 'line',product, numeric_value from numbertable order by product;

select 'Total',product, sum(numeric_value) from numbertable group by product;

有没有办法组合这两个查询,以便结果集如下所示:

    Type      Product      numeric_value

    line      item1        23
    line      item1        57
    line      item1        23
    Total     item1        103
    line      item5        20
    line      item5        50
    line      item5        60
    Total     item5        130
    ...

基本上,我希望列出一个产品的所有项目记录,然后显示它们的总和,然后列出下一个产品的所有项目记录,等等。

有没有办法做到这一点,或者这是一项不可能完成的任务?谢谢 :)

4

1 回答 1

2

在许多数据库中,您可以使用rollup. 但是,既然你已经走到了这一步:

select *
from ((select 'line' as which, product, numeric_value from numbertable
      ) union all
      (select 'Total', product, sum(numeric_value) from numbertable group by product
      )
     ) t
order by Product, which

,order by Product, which汇集了所有产品线。“总计”是最后由于订购。

于 2013-03-20T20:21:23.443 回答