Belajar Database PostgreSQL - Contoh Penggunaan Group By


PostgreSQL

Klausa GROUP BY digunakan untuk melakukan pengelompokan baris dalam tabel yang memiliki data yang identik. Hal ini digunakan dengan pernyataan SELECT. Klausa GROUP BY juga dapat digunakan untuk mengurangi redundansi dalam output.

Syntax :
SELECT column-list
FROM nama_tabel
GROUP BY column1, column2....columnN

Penggunaan GROUP BY dengan WHERE
SELECT column-list
FROM nama_tabel
WHERE [conditions ]
GROUP BY column1, column2....columnN

Penggunaan GROUP BY dengan ORDER BY
SELECT column-list
FROM nama_tabel
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN

Penggunaan GROUP BY dengan WHERE dan ORDER BY
SELECT column-list
FROM nama_tabel
WHERE [conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN

Perhatikan contoh berikut :
Sebuah tabel company memiliki data sebagai berikut :
SELECT * FROM company
 id |  nama | usia| gaji 
----+-------+-----+------
  1 | Kim   |  22 | 45000
  2 | Teddy |  23 | 20000
  3 | Jimmy |  24 | 10000
  4 | Paul  |  24 | 20000
  5 | Mark  |  25 | 65000
  6 | Allen |  25 | 15000
  7 | David |  27 | 85000
  8 | Paul  |  32 | 21000
  9 | Jammy |  44 | 5000
 10 | James |  45 | 5000

Eksekusi query berikut untuk melihat redudansi :
SELECT nama, SUM(gaji)
FROM company
GROUP BY nama;
  nama |  sum 
-------+-------
 Kim   |  45000
 Teddy |  20000
 Jimmy |  10000
 Paul  |  41000
 Mark  |  65000
 Allen |  15000
 David |  85000
 Jammy |  5000
 James |  5000

Catatan :
Dalam contoh penggunaan GROUP BY di atas kalian dapat melihat bahwa duplikasi nama digabung ketika kita menggunakan GROUP BY nama. Ini menunjukan bahwa GROUP BY mengurangi redundansi.

Baca Juga : Belajar Klausa WITH di PostgreSQL

Contoh penggunaan GROUP BY dengan WHERE
SELECT nama, SUM(gaji)
FROM company
WHERE gaji > 10000 GROUP BY nama;
  nama |  sum 
-------+-------
 Kim   |  45000
 Teddy |  20000
 Paul  |  41000
 Mark  |  65000
 Allen |  15000
 David |  85000


Contoh penggunaan GROUP BY dengan WHERE dan ORDER BY
SELECT nama, SUM(gaji)
FROM company
WHERE gaji > 10000
GROUP BY nama
ORDER BY nama;
  nama |  sum 
-------+-------
 Allen |  15000
 David |  85000
 Kim   |  45000
 Mark  |  65000
 Paul  |  41000
 Teddy |  20000

Sekian contoh penggunaan GROUP BY pada PostgreSQL. Silahkan tinggalkan komentar.


EmoticonEmoticon