<分区>
Oracle 不像 MySQL/PostgreSQL 那样支持“按 1,2,3 分组”的语法,这真的很不方便,有人知道为什么 Oracle 不想支持这个吗?这应该不难吧?
<分区>
Oracle 不像 MySQL/PostgreSQL 那样支持“按 1,2,3 分组”的语法,这真的很不方便,有人知道为什么 Oracle 不想支持这个吗?这应该不难吧?
最佳答案
实际上,按照常识,列别名只能在 ORDER BY
或外部查询中使用。因为,当您执行 ORDER by
时,它仅在行选择之后发生,到那时别名可用。但是在 GROUP BY
期间,只有在分组之后才完成选择,所以在分组完成之前,oracle 不知道列别名。
我认为,这非常简单。可能是其他 DBMS 支持它们,实现一些 SQL 预处理。
因此,简而言之,由于 SELECT
仅在 GROUP BY
之后发生,并且列别名仅在 SELECT
中生成,因此 oracle 不会支持吧!程序员也明白这一点,可能不需要在分组中使用列别名。至少我。
关于oracle - 为什么 Oracle 不支持 "group by 1,2,3"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20796143/