是否有必要在Oracle中使用GROUP BY?

时间:2015-03-03 12:08:34

标签: oracle

在Oracle中使用聚合函数和列时,是否有必要使用GROUP BY

在MySQL中,如果我没有使用它可以正常工作,但在Oracle中,它会给我一个错误。

2 个答案:

答案 0 :(得分:8)

如果你必须选择至少一个没有聚合函数的列,

所以,这将有效:

select sum(col_1), avg(col_2) from table_1;

虽然这不会:

select sum(col_1), avg(col_2), col_3 from table_1;

答案 1 :(得分:6)

使用聚合函数时,应始终使用GROUP BY。不使用GROUP BY是MySQL允许的非标准SQL扩展。

<强> RANT

恕我直言,这个扩展是脑死亡,完全危险,永远不应该使用,因为MySQL为非聚合列返回随机行的值。

<强> END_OF_RANT