如何在oracle中的派生表上使用GROUP BY子句

时间:2016-03-17 12:09:54

标签: sql oracle group-by

我正在处理一个复杂的SQL查询,并且在执行它时总是得到oracle错误ORA-00933。我将查询最小化到这个最小的例子:

SELECT foo.bar, sum(foo.baz) 
  FROM (SELECT  123  as bar,  5 as baz FROM dual) as foo
GROUP BY foo.bar

这似乎与使用派生表和GROUP BY子句有关。

如何重写查询以支持派生表foo上的GROUP BY子句?

1 个答案:

答案 0 :(得分:4)

Oracle不支持as来定义表别名。

所以试试这个:

SELECT foo.bar, sum(foo.baz) 
FROM (SELECT 123 as bar, 5 as baz FROM dual) foo
GROUP BY foo.bar;

对列别名使用as(尽管它是可选的)。