GROUP BY在Oracle中使用带有列的聚合函数时是否有必要使用?
在MySQL中,如果我不使用它工作正常,但在Oracle中,它给了我一个错误.
如果您选择至少一个没有聚合函数的列,则必须这样做.
所以,这将工作:
select sum(col_1), avg(col_2) from table_1;
Run Code Online (Sandbox Code Playgroud)
虽然这不会:
select sum(col_1), avg(col_2), col_3 from table_1;
Run Code Online (Sandbox Code Playgroud)
GROUP BY使用聚合函数时应始终使用.不使用GROUP BY是MySQL允许的非标准SQL扩展.
RANT
恕我直言,这个扩展是脑死亡,完全危险,永远不应该使用,因为MySQL返回非聚合列的随机行的值.
END_OF_RANT
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |