Oracle 23ai(23.9) — GROUP BY ALL

Oracle Database 23ai introduces several enhancements to the GROUP BY clause that simplify query syntax and improve readability, particularly when grouping by multiple columns.

Starting with Oracle Database 23ai (Release 23.3), the GROUP BY clause supp…


This content originally appeared on DEV Community and was authored by Vahid Yousefzadeh

Oracle Database 23ai introduces several enhancements to the GROUP BY clause that simplify query syntax and improve readability, particularly when grouping by multiple columns.

Starting with Oracle Database 23ai (Release 23.3), the GROUP BY clause supports the following enhancements:

Column Alias in GROUP BY Clause: You can reference column aliases defined in the SELECT list directly in the GROUP BY clause.

Column Position in GROUP BY Clause: You can refer to columns in the GROUP BY clause using their position in the SELECT list.

These enhancements reduce redundancy and make SQL statements more concise and easier to maintain.

In Release Update 23.9, Oracle introduces an additional enhancement: the GROUP BY ALL clause.

The GROUP BY ALL clause eliminates the need to repeat all non-aggregate columns from the SELECT list in the GROUP BY clause. In previous releases, the GROUP BY clause required all non-aggregate columns to be listed explicitly, as shown below:

SELECT OWNER,
       DATA_TYPE,
       NULLABLE,
       COUNT(*) 
FROM   DBA_TAB_COLUMNS
where owner='AUDSYS'
GROUP BY OWNER, DATA_TYPE, NULLABLE;
OWNER                DATA_TYPE                 N   COUNT(*)
-------------------- ------------------------- - ----------
AUDSYS               VARCHAR2                  Y        325
AUDSYS               NUMBER                    Y         77
AUDSYS               CLOB                      Y         14
AUDSYS               RAW                       Y          8
AUDSYS               TIMESTAMP(6)              Y          8
AUDSYS               NUMBER                    N          4
AUDSYS               TIMESTAMP(6)              N          1

7 rows selected.

With the new GROUP BY ALL syntax, the same query can be rewritten more concisely:

SQL> SELECT OWNER,
       DATA_TYPE,
       NULLABLE,
       COUNT(*)
FROM   DBA_TAB_COLUMNS
where owner='AUDSYS'
GROUP BY ALL;  
OWNER                DATA_TYPE                 N   COUNT(*)
-------------------- ------------------------- - ----------
AUDSYS               VARCHAR2                  Y        325
AUDSYS               NUMBER                    Y         77
AUDSYS               CLOB                      Y         14
AUDSYS               RAW                       Y          8
AUDSYS               TIMESTAMP(6)              Y          8
AUDSYS               NUMBER                    N          4
AUDSYS               TIMESTAMP(6)              N          1

7 rows selected.

This produces the same result set while improving query clarity and reducing repetition.


This content originally appeared on DEV Community and was authored by Vahid Yousefzadeh


Print Share Comment Cite Upload Translate Updates
APA

Vahid Yousefzadeh | Sciencx (2025-08-07T22:28:49+00:00) Oracle 23ai(23.9) — GROUP BY ALL. Retrieved from https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/

MLA
" » Oracle 23ai(23.9) — GROUP BY ALL." Vahid Yousefzadeh | Sciencx - Thursday August 7, 2025, https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/
HARVARD
Vahid Yousefzadeh | Sciencx Thursday August 7, 2025 » Oracle 23ai(23.9) — GROUP BY ALL., viewed ,<https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/>
VANCOUVER
Vahid Yousefzadeh | Sciencx - » Oracle 23ai(23.9) — GROUP BY ALL. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/
CHICAGO
" » Oracle 23ai(23.9) — GROUP BY ALL." Vahid Yousefzadeh | Sciencx - Accessed . https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/
IEEE
" » Oracle 23ai(23.9) — GROUP BY ALL." Vahid Yousefzadeh | Sciencx [Online]. Available: https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/. [Accessed: ]
rf:citation
» Oracle 23ai(23.9) — GROUP BY ALL | Vahid Yousefzadeh | Sciencx | https://www.scien.cx/2025/08/07/oracle-23ai23-9-group-by-all/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.