๐ Problem Statement
1. Dalam SQL tradisional, ketika kita menulis sesuatu seperti:SELECT a, AVG(b) FROM t1 GROUP BY a;
sudah jelas bahwa kolom non-agregat (a) harus ada di GROUP BY. Namun jika ada banyak kolom atau ekspresi kompleks, kita harus mengetik ulang semuanya โ yang rentan kesalahan dan menyulitkan pemeliharaan.
2. Untuk query lebih panjang dan lebih kompleks, memperbarui GROUP BY ketika SELECT diubah menjadi beban pengembangan dan bisa mengarah pada bug tersembunyi.
3. Banyak pengguna database telah meminta sintaks yang lebih ringkas dan intuitif untuk GROUP BY, namun belum ada dukungan standar penuh untuk fitur tersebut.
๐ ๏ธ Methodology / Solusi / Hypothesis
1. Aset fitur baru: penggunaan sintaks GROUP BY ALL yang otomatis mencakup semua kolom non-agregat dari daftar SELECT. Contoh:SELECT a, AVG(b) FROM t1 GROUP BY ALL;
berarti secara implisit: GROUP BY a.
2. Standar SQL:202y (masih draft) telah menerima proposal perubahan untuk GROUP BY ALL pada rapat September 2025.
3. Hipotesis: Dengan penerapan GROUP BY ALL, penulisan query agregasi menjadi lebih mudah, pengembangan lebih cepat, dan risiko kesalahan penerapan GROUP BY berkurang.
๐ Findings / Results / Impact
1. Implementasi awal ada pada produk database seperti Oracle Database dan PostgreSQL (patch diterima setelah standardisasi disepakati).
2. Namun, fitur ini tidak menggantikan semua kasus eksplisit โ misalnya ketika ada ekspresi kompleks atau kolom yang bukan langsung bagian dari SELECT โ pengguna masih harus menuliskan GROUP BY manual di beberapa situasi.
3. Penggunaan GROUP BY ALL dianggap cocok untuk query interaktif atau prototipe, tetapi mungkin perlu dipakai lebih berhati-hati di lingkungan produksi karena ada risiko gruping implisit yang tidak diinginkan.
โ
Key Takeaways
1. GROUP BY ALL adalah fitur ringkas yang dapat menghemat penulisan dan pemeliharaan query agregasi.
2. Meskipun fitur ini memudahkan, pengguna harus tetap memahami dan memeriksa hasilnya โ khususnya bila SELECT mengandung ekspresi atau kolom tambahan.
3. Standarisasi SQL terus berkembang โ fitur seperti ini menunjukkan arah bahasa SQL untuk menjadi lebih produktif dan tersederhana.
4. Bagi pengguna database: ketika fitur ini tersedia di sistem Anda, uji dengan kasus sederhana terlebih dahulu dan hati-hati dengan query kompleks.
5. Transformasi kecil pada sintaks dapat membawa efek besar dalam produktivitas developer dan kualitas kode SQL.
Sumber:
https://peter.eisentraut.org/blog/2025/11/11/waiting-for-sql-202y-group-by-all
#SQL202y #GROUPBYALL #DatabaseStandards #PostgreSQL #Oracle #SQLProductivity #QueryOptimization