我想获得column1的总和,column2的总和和总和。在Postgres中我可以这样做:(注意明星)
SELECT *, a+b AS total_sum FROM
(
SELECT SUM(column1) AS a, SUM(column2) AS b
FROM table
)
但是在Oracle中我遇到语法错误并且必须使用它:
SELECT a,b, a+b AS total_sum FROM
(
SELECT SUM(column1) AS a, SUM(column2) AS b
FROM table
)
我有很多列要返回,所以我不想在主查询中再次写入列名。有没有简单的解决方案?
我不能在内部查询中使用+ b,因为在这个地方不知道。
我不想使用SELECT SELECT SUM(column1) AS a, SUM(column2) AS b, SUM(column1)+SUM(column2) AS total_sum
。
答案 0 :(得分:126)
您可以通过对其进行别名并在*
之前添加别名来选择该子查询中的每一列:
SELECT t.*, a+b AS total_sum
FROM
(
SELECT SUM(column1) AS a, SUM(column2) AS b
FROM table
) t