Rabu, 19 Oktober 2022

PostgreSQL Group By


Tabel yang digunakan




GROUP BY Pengertian

Group by digunakan untuk melakukan pengelompokan baris dalam tabel yang data dari column duplicate, hampir sama seperti DISTINCT. nah perbedaanya distinct menghapus data yang duplikat sedangkan GROUP BY tidak. 

GROUP BY hanya mengelompokan nya menjadi satu row/baris, sehingga kita bisa memanipulasi data tersebut menggunakan FUNCTION seperti MAX, MIN, SUM, AVERAGE.

 

Cara Menggunakan

  • Kita pilih kolom dari tabel yang ingin kita lakukan Grouping
SELECT nama
  • Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
FROM tabel_warga
  • Setelah statement FROM table. lalu kita tuliskan GROUP BY diikuti dengan nama kolom yang data nya ingin kita GROUP BY nama_kolom. contoh pada kasus ini kita menggunakan nama pada tabel yang ingin kita lakukan GROUPING
GROUP BY nama;

 

 

IMPLEMENTASI 

Berikut dibawah merupakan tampilan data yang belum dilakukan GROUPING. masih banyak duplikasi pada setiap data dari kolom nama

















Kita akan mengimplementasikan Grouping pada tabel diatas dengan menggunakan Group By
SELECT nama
FROM tabel_warga
GROUP BY nama;
Berikut tampilan setelah selesai melakukan Grouping




Grouping with SUM

SUM adalah fungsi untuk untuk melakukan operasi penjumlahan. Jikalau kita ingin melakukan penjumlahan pada setiap data yang ada dari sebuah group. maka disinilah SUM dibutuhkan.

Lets say kita ingin melakukan penjumlahan pada setiap data yang telah di group. Pada kasus ini kita akan menjumlahkan setiap data kolom iuran dari kolom nama 'andhika' 








Jika dilakukan GROUPING BY nama dan menggunakan fungsi SUM pada iuran maka setiap data dari sebuah GROUP akan dijumlah kan sehingga total dari iuran milik andhika setelah di GROUP adalah 12000

Cara Menggunakan

  • Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi SUM. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan SUM adalah kolom iuran milik Andhika
SELECT nama, SUM(iuran)
  • Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
  • FROM tabel_warga
    • Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM 
    WHERE nama = 'andhika'

    • Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
    GROUP BY nama;

    Hasilnya 












    Grouping With MAX

    MAX adalah sebuah fungsi untuk melakukan operasi mencari nilai tertinggi. Kita bisa implementasikan ini dengan GROUP BY, Lets say dari data yang sudah kita GROUPING, kita ingin mencari setiap data dari sebuah GROUP yang mempunyai nilai tertinggi.


    Dengan studikasus yang sama kita akan menerapkan GROUP BY dengan MAX.
    Oke misallnya kita ingin mencari nilai tertinggi dari data kolom iuran milik andhika.
    Maka data kolom iuran tertinggi pada Andhika harusnya adalah 9000.

    Cara Menggunakan

    • Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi MAX. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan MAX adalah kolom iuran milik Andhika
    SELECT nama, MAX(iuran)
    • Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
    • FROM tabel_warga
      • Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM 
      WHERE nama = 'andhika'

      • Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
      GROUP BY nama;

      Hasilnya

















      Grouping With MIN

      Kebalikan dari MAX, MIN digunakan untuk mencari nilai terkecil. Jika kita ingin mencari data nilai terkecil dari sebuah tabel. maka kita bisa menggunakan FUNCTION MIN. 
      Masih menggunakan kasus yang sama. Kita akan mencari nilai terkecil/terendah dari data yang telah di group yaitu data 'Andhika' , kita akan mencari iuran terendah dari data setiap iuran milik Andhika


      Jika kita lihat diatas iuran terendah milik andhika adalah 3000. Nanti kita lihat hasil setelah kita lakukan GROUPING dengan MIN.


      Cara Menggunakan

      • Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi MIN. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan MIX adalah kolom iuran milik Andhika
      SELECT nama, MIN(iuran)
      • Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
      • FROM tabel_warga
        • Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM 
        WHERE nama = 'andhika'

        • Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
        GROUP BY nama;
        Hasilnya















        Grouping With Count
         
        COUNT Adalah fungsi untuk menghitung jumlah data dari sebuah GROUP. Kita bisa menerapkan fungsi COUNT untuk mencari tau jumlah data dari sebuah GROUP

        Masih menggunakan Kasus yang sama, kita akan mencari tahu jumlah data yang dimiliki Andhika setelah dilakukan GROUPING. 


        Jumlah data sebelum di GROUP ada 2 record, maka jika kita group dan kita terapkan fungsi COUNT harusnya kolom pada fungsi COUNT akan menghasilkan record 2

        Cara Menggunakan

        • Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi MIN. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan MIX adalah kolom iuran milik Andhika
        SELECT nama, COUNT(iuran)
        • Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
        • FROM tabel_warga
          • Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM 
          WHERE nama = 'andhika'

          • Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
          GROUP BY nama;

              Hasilnya













          0 comments:

          Posting Komentar