Apa fungsi group by mysql?

MySQL adalah salah satu perangkat lunak yang kerap digunakan untuk pembuatan dan pengelolaan basis data dalam  perangkat komputer maupun jaringan.

Pembahasan

Pada kesempatan ini, soal meminta kita untuk menjabarkan fungsi Group By dalam aplikasi tersebut. Berikut kakak akan mencoba menjawab pertanyaan tersebut.

GROUP BY ADALAH SEBUAH KLAUSA DALAM INSTRUKSI MYSQL YANG DIGUNAKAN UNTUK MENGELOMPOKKAN BARIS BERNILAI SAMA.

Adapun klausa Group By digunakan dalam pernyataan SELECT. Secara alternative, fungsi ini dapat digunakan bersamaan dengan fungsi lainnya untuk menghasilkan simpulan laporan dari basis data yang dimiliki.

Adapun kueri yang mengandung klausa Group By disebut kueri terkelompok dan hanya mengembalikan satu baris tunggal untuk setiap item yang dikelompokkan.

Pelajari lebih lanjut

Pada materi ini, kamu dapat belajar tentang MySQL:

brainly.co.id/tugas/6369739

Detil jawaban

Kelas: SMA

Mata pelajaran: TI

Bab: -

Kode kategori: -

Kata kunci: group by mysql

Picture: tutorialrepublic.com

Halo teman-teman semua! Selamat Datang di Blog Medium saya! Sebelumnya, perkenalkan saya Reyvan Maulid Pradistya. Pada postingan kali ini, saya mengikuti DQ-Weekend Challenge Series #5. Namun, DQ-Weekend Challenge kali ini sedikit berbeda karena berbentuk career track series yakni “Data Analyst Career Track Series” dari DQLAB tentang “Fundamental SQL Using FUNCTION and GROUP BY” yang dianalisis menggunakan SQL. Data Mentor pada topik ini adalah Kak Trisna Yulia Junita yang merupakan seorang Data Scientist di PT BUMA.

Oke kalau kemarin kita sudah belajar tentang penggunaan SELECT statement pada pembahasan sebelumnya. Postingan kali ini agak sedikit berbeda nih teman-teman semua. Kita akan menggunakan FUNCTION dan GROUP BY. Di pembahasan kali ini, kita mencoba untuk memahami konsep penggunaan fungsi skalar dan fungsi agregat dalam operasi string dan numerik di SQL database. Selain itu, kita juga dapat mengerti konsep penggunaan GROUP BY dalam mengelompokkan data dan memahami konsep menggabungkan GROUP BY dengan fungsi aggregate. Finally, kita juga akan melakukan penggunaan CASE Statement untuk struktur pengambilan keputusan.

Sebelum masuk ke analisisnya, mau cerita sedikit nih pengalamannya menyelesaikan modul ini. Jujur, saya sendiri belum familiar dengan aplikasi SQL ini. Karena mungkin terbiasa dengan R-Studio sepertinya dan kemarin kita juga sama-sama belajar Python. Tapi, saya terus belajar dan selalu terbuka akan hal baru. SQL ini adalah hal baru bagi saya. Kalau gitu, kenapa tidak mencobanya langsung bukan? Terus nih ya, begitu ada pengumuman DQLAB Weekend Challenge makin gasabar dong buat ikutan dan selesain modulnya yeyyy! Oke, kita langsung masuk ke substansinya aja yukk teman-teman!

Fungsi Scalar vs Fungsi Aggregate

Sebelum kita masuk ke pembahasan yang lebih jauh, yuk kita samakan persepsi dulu tentang arti fungsi itu sendiri yang mana dibagi menjadi dua yaitu fungsi scalar dan fungsi aggregate.

Fungsi adalah metode yang digunakan untuk melakukan operasi data di database. Operasi ini bisa berupa kalkulasi numerik seperti sum, count, avg, etc; atau operasi non-numerik seperti string concatenations dan sub-strings. SQL Function dapat dibagi ke dalam 2 kategori, yaitufungsi scalar dan fungsi aggregate.

Fungsi skalar dalam SQL digunakan untuk mengembalikan nilai tunggal (single value) dari suatu nilai input yang diberikan, sedangkan fungsi agregat dalam SQL digunakan untuk melakukan perhitungan pada sekelompok nilai dan kemudian mengembalikan nilai tunggal

Fungsi Skalar Matematika

Fungsi skalar pertama yang akan kita bahas adalah fungsi skalar untuk numerik value. Fungsi ini umumnya digunakan jika kita ingin melakukan operasi matematika di SQL secara cepat dan efektif. Di SQL sendiri ada banyak fungsi matematika,

Untuk mengecek fungsi-fungsi apa saja yang bisa dilakukan di SQL, kita bisa membuka dokumentasi fungsi SQL di sini: https://www.postgresql.org/docs/9.5/functions-math.html, untuk postgresql database dan di sini: https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html, untuk mysql database

Apa fungsi group by mysql?

Fungsi Skalar Matematika — ABS()

Oke, sekarang kita coba untuk mengaplikasikan fungsinya satu persatu. Dimulai dari fungsi ABS(), dimana fungsi ini bertujuan untuk mengembalikan nilai absolute dari nilai input. Berikut syntax untuk fungsi ABS()

Syntax:

SELECT ABS(ColumnName)  
FROM TableName;

Berikut contoh aplikasi dari fungsi ABS(), dimana kita akan melihat perkembangan nilai siswa dari semester 1 dan semester 2 berdasarkan nilai yang diperoleh apakah naik atau turun

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Skalar Matematika — CEILING()

Fungsi Ceiling() digunakan untuk mengembalikan nilai integer terbesar yang terdekat dengan nilai input. Kalau teman-teman bandingkan dengan fungsi ABS() tadi, khusus untuk fungsi Ceiling ini nilai mereka merupakan hasil pembulatan dari semester 1 dan semester 2. Sehingga, dalam penentuan MarkGrowth merupakan pengurangan antar keduanya

MarkGrowth = Semester 1 — Semester 2

Syntax:

SELECT CEILING(ColumnName)  
FROM TableName;

Berikut contoh aplikasi dari fungsi CEILING(), dimana kita akan melihat perkembangan nilai siswa dari semester 1 dan semester 2 berdasarkan nilai yang diperoleh apakah naik atau turun

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Skalar Matematika — FLOOR()

Kebalikan dari fungsi Ceiling, Fungsi Floor() digunakan untuk mengembalikan nilai integer terkecil yang terdekat dengan nilai input. Kalau teman-teman bandingkan dengan fungsi Ceiling tadi, mereka merupakan hasil pembulatan dari semester 1 dan semester 2 diambil dari nilai paling kecil. Sehingga, dalam penentuan MarkGrowth merupakan pengurangan antar keduanya

Syntax:

SELECT FLOOR(ColumnName)  
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Skalar Matematika — ROUND()

Sekarang kita masuk ke fungsi round. Fungsi ini digunakan untuk mengembalikan nilai pembulatan dari suatu nilai desimal. Kalau pada fungsi sebelumnya, merupakan nilai pasti atau nilai mutlak, sedangkan fungsi round diperuntukkan perlakuan untuk bilangan desimal. Untuk contohnya masih sama dimana kita akan melihat perkembangan nilai siswa dari semester 1 dan semester 2 berdasarkan nilai yang diperoleh apakah naik atau turun

Syntax:

SELECT ROUND(ColumnName)  
FROM TableName;

Apa fungsi group by mysql?

Fungsi Skalar Matematika — SQRT( )

Sekarang kita masuk ke fungsi SQRT. Fungsi ini digunakan untuk mengembalikan nilai akar kuadrat dari nilai input. Kalau pada fungsi sebelumnya, merupakan nilai pasti atau nilai mutlak, sedangkan fungsi sqrt diperuntukkan perlakuan untuk semester 1 dengan akar kuadrat. Untuk contohnya masih sama dimana kita akan melihat perkembangan nilai siswa dari semester 1 dan semester 2 berdasarkan nilai yang diperoleh apakah naik atau turun

Syntax:

SELECT SQRT(ColumnName)  
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Text

Sekarang kita akan membahas tentang fungsi skalar untuk text/string value. Fungsi ini digunakan jika kita ingin melakukan operasi pada text atau karakter di SQL, misalnya, mengubah huruf kecil ke huruf besar, menghitung jumlah karakter dari text, dll. Fungsi skalar text di SQL juga cukup banyak.

Sama seperti fungsi skalar matematika, kita juga bisa mengecek fungsi — fungsi skalar text di dokumentasi postgresql: https://www.postgresql.org/docs/9.1/functions-string.html; dan dokumentasi mysql: https://dev.mysql.com/doc/refman/8.0/en/string-functions.html.

Apa fungsi group by mysql?

Fungsi Text — CONCAT( )

Kita mulai dengan fungsi text yang pertama yaitu fungsi CONCAT() atau CONCATENATE. Fungsi ini digunakan untuk menggabungkan semua argumen/input. Kalau untuk fungsi sebelumnya, kita fokus ke “value” berupa nilai semester 1 dan semester 2. Pada fungsi text, kita fokus untuk bagian first name dan last name kita gabungkan menggunakan fungsi text — CONCAT()

Syntax:

SELECT CONCAT(ColumnName1, ColumnName2, ColumnNameN)  
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Text — SUBSTRING_INDEX( )

Fungsi Text SUBSTRING_INDEX()

Syntax:

SELECT SUBSTRING_INDEX(column, delimiter, index to return)  
FROM TableName;

Keterangan:

column → merupakan nama kolom yang akan dipecah text-nya,

delimiter → karakter atau gabungan beberapa karakter untuk pemecah text pada kolom bersangkutan,

index_to_return → indeks dari pecahan text yang akan diambil.

Pada contoh kali ini, kita akan menggunakan karakter berupa nama email, delimiter menggunakan @ dan indeks dari pecahan teks yaitu 1.

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Text — SUBSTR( )

Syntax:

SELECT SUBSTR(columnName, Start Index, Number of string to be extract)
FROM TableName;

Keterangan:

columnName → nama kolom yang akan dicari substring-nya

Start Index → indeks dari text yang dimiliki (dimulai dari 1)

Number of string to be extract → jumlah karakter atau beberapa karakter yang akan diambil

Pada contoh kali ini, kita akan mengambil 3 karakter dari nama siswa

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Text — LENGTH( )

Selanjutnya, kita masuk ke fungsi text yaitu fungsi LENGTH(). Fungsi ini digunakan untuk menghitung jumlah karakter pada string/text. Pada contoh kali ini, kita akan menghitung jumlah karakter pada nama depan siswa

Syntax:

SELECT LENGTH(ColumnName)
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Text — REPLACE( )

Syntax:

SELECT REPLACE(ColumnName, Character/String to be change, New String/Character)
FROM TableName;

Keterangan:

ColumnName → nama kolom yang akan diganti isi tiap record/barisnya berdasarkan string/karakter tertentu

Character/String to be change → string/karakter yang dimiliki untuk diganti

New String/Character → string/karakter baru pengganti string/karakter sebelumnya

Pada contoh kali ini, kita akan merubah email siswa dari email yahoo menjadi email Gmail

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Aggregate

Yok! Sekarang kita lanjut ke fungsi selanjutnya yakni Fungsi Aggregate. Biar kalian tahu, berikut ini adalah fungsi yang sering digunakan pada SQL.

Apa fungsi group by mysql?

Fungsi Aggregate — SUM()

Kita mulai untuk fungsi aggregate yang pertama yaitu Fungsi SUM(). Fungsi ini digunakan untuk menjumlahkan sekelompok nilai dalam satu kolom. Kita misalkan pada fungsi ini, kita menjumlahkan total nilai siswa keseluruhan di semester 1 dan semester 2.

Syntax:

SELECT SUM(ColumnName)  
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Aggregate — COUNT()

Kita mulai untuk fungsi aggregate yang pertama yaitu Fungsi SUM(). Fungsi ini digunakan untuk menghitung jumlah baris. Kita misalkan pada fungsi ini, kita menjumlahkan baris pada jumlah keseluruhan siswa

Syntax:

SELECT COUNT(ColumnName)  
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Aggregate — AVG( )

Kita mulai untuk fungsi aggregate yang pertama yaitu Fungsi SUM(). Fungsi ini digunakan untuk menghitung nilai rata-rata dari suatu kolom. Kita misalkan pada fungsi ini, kita mencari nilai rata-rata siswa keseluruhan di semester 1 dan semester 2.

Syntax:

SELECT AVG(ColumnName)  
FROM TableName;

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Pengenalan GROUP BY

Untuk mengelompokkan data di SQL kita menggunakan GROUP BY Statement. GROUP BY statement akan mengelompokkan data yang bernilai sama ke dalam satu group, dan dengan menggunakan fungsi aggregate seperti (COUNT, MAX, MIN, SUM, AVG) kita bisa melakukan agregasi untuk untuk setiap group atau kelompok yang terbentuk. Biar lebih jelas, coba pelajari penulisan syntax-nya

Apa fungsi group by mysql?

Hal penting yang perlu diperhatikan adalah:

  1. GROUP BY digunakan dengan SELECT, artinya kolom yang digunakan di GROUP BY statement, juga perlu ditempatkan di SELECT.
  2. GROUP BY ditempatkan setelah WHERE, tetapi jika tidak menggunakan WHERE maka langsung ditempatkan setelah FROM.
  3. Jika menggunakan ORDER BY, maka GROUP BY ditempatkan sebelum ORDER BY.

“Apakah kita bisa menggunakan group by untuk mengelompokkan data menggunakan 2 kriteria atau 2 kolom?”
Jawabannya bisa,
Group by bisa dilakukan dengan single column ataupun multiple column

  • Group by Single Column, data dikelompokkan menggunakan kriteria dari satu kolom saja, misalnya mengelompokkan data berdasarkan provinsi saja.
  • Group by Multiple Column, data dikelompokkan menggunakan kriteria dari dua kolom atau lebih, misalnya mengelompokkan data berdasarkan province dan brand.

Group by Single Column

Fungsi Group by Single Column memastikan data dapat dikelompokkan menggunakan kriteria dari satu kolom saja, misalnya mengelompokkan data berdasarkan provinsi saja. Berikut adalah contoh untuk mengelompokkan data menggunakan group by Single Column!

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Group by Multiple Column

Dengan fungsi Group by Multiple Column, data dapat dikelompokkan menggunakan kriteria dari dua kolom atau lebih, misalnya mengelompokkan data berdasarkan province dan brand dari Provinsi Daerah Istimewa Yogyakarta

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Fungsi Aggregate dengan Grouping

Masih ingatkan fungsi agregasi yang kita pelajari dan praktikkan sebelumnya? Pada fungsi itu kita belum menggunakan group by sehingga hasil SUM dan COUNT kita adalah hasil SUM dan COUNT dari seluruh baris yang ada di tabel data penjualan

Kalau begitu, kita praktik langsung saja. Sekarang coba kita gunakan fungsi agregasi dan GROUP BY untuk menghitung total penjualan dari setiap provinsi di tahun 2019, dan kita bandingkan dengan hasil fungsi agregasi tanpa menggunakan group by,

Apa fungsi group by mysql?

Apa fungsi group by mysql?

Penggunaan CASE … WHEN….

Sampai sejauh ini, bagaimana mengenai SQL? Mudah bukaannn? Sekaran mari kita lanjutkan dengan penggunaan CASE dan WHEN. CASE — statement ini sama dengan IF — THEN — ELSE di pemrograman pada umumnya. Syntax dari CASE — statement seperti ini

Apa fungsi group by mysql?

CASE — Statement ditempatkan sesudah SELECT, berikut syntax-nya secara lengkap :

SELECT ColumnName1, ColumnName2,  
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END as alias
FROM TableName;

CASE-statement akan mengevaluasi kondisi yang sudah ditentukan, dimulai dari condition1, dan akan mengembalikan hasil (result1), jika condition1 terpenuhi (TRUE). Jika tidak, maka condition2 akan dievaluasi, dan akan mengembalikan result2 jika condition2 terpenuhi, dst. Apabila tidak ada kondisi yang terpenuhi, maka result pada bagian ELSE yang akan dikembalikan

Studi Kasus: Proyek Penjualan

Yaaayyyy! tiba saatnya kita masuk ke studi kasuss nih temen-temen. Yuk mari belajar bersama!

Kita diminta untuk melakukan analisis penjualan di suatu store. Adapun laporan yang diminta sebagai berikut:

  1. Total jumlah seluruh penjualan (total/revenue).
  2. Total quantity seluruh produk yang terjual.
  3. Total quantity dan total revenue untuk setiap kode produk.
  4. Rata — Rata total belanja per kode pelanggan.
  5. Selain itu, jangan lupa untuk menambahkan kolom baru dengan nama ‘kategori’ yang mengkategorikan total/revenue ke dalam 3 kategori: High: > 300K; Medium: 100K — 300K; Low: <100K.

Berikut adalah tabel tr_penjualan:

Apa fungsi group by mysql?

Langkah 1: Total jumlah seluruh penjualan (total/revenue)

SELECT sum(total) as total
FROM tr_penjualan;

Langkah 2: Total quantity seluruh produk yang terjual.

SELECT sum(qty) as qty
FROM tr_penjualan;

Langkah 3: Total quantity dan total revenue untuk setiap kode produk.

SELECT kode_produk, sum(qty) as qty, sum(total) as total
FROM tr_penjualan
GROUP BY kode_produk;

Maka keluar hasilnya sebagai berikut…..

Apa fungsi group by mysql?

Berdasarkan hasil output, prod-05 memiliki total paling besar jika dibandingkan dengan produk yang lainnya

Langkah 4: Rata — Rata total belanja per kode pelanggan.

SELECT kode_pelanggan, avg(total) as avg_total
FROM tr_penjualan
GROUP BY kode_pelanggan;

Apa fungsi group by mysql?

Langkah 5: jangan lupa untuk menambahkan kolom baru dengan nama ‘kategori’ yang mengkategorikan total/revenue ke dalam 3 kategori: High: > 300K; Medium: 100K — 300K; Low: <100K. Khusus untuk kondisi di langkah 5, kita menggunakan perintah CASE…..WHEN…..

CASE
WHEN total > 300000 THEN ‘High’
WHEN total < 100000 THEN ‘Low’
ELSE ‘Medium’
END as kategori
FROM tr_penjualan;

Apa fungsi group by mysql?

Uwuuuuwwww, gimana nih temen-temen! Seruuu banget dong yaaa belajar SQL. Jadi, belajar banyak kan mengenai Fundamental SQL Using FUNCTION and GROUP BY kali ini. Mudah-mudahan kalian semuanya paham ya! Semoga bermanfaat!

“With data collection, ‘the sooner the better’ is always the best answer.” — Marissa Mayer

Terima kasih banyak sebelumnya atas waktu yang diluangkan untuk membaca artikel ini. Kurang lebihnya mohon maaf. See you!

Referensi:

Modul DQ-LAB: Fundamental SQL Using FUNCTION and GROUP BY https://academy.dqlab.id/main/package/practice/171

Data Mentor: Trisna Yulia Junita (Data Scientist PT BUMA)

Apa fungsi dari perintah group by?

SQL GROUP BY digunakan untuk mengelompokkan data (record) yang memiliki nilai yang sama. seperti “menemukan jumlah data barang sesuai dengan kategori”. SQL GROUP BY sering digunakan pada fungsi agregat seperti (COUNT(), MAX(), MIN(), SUM(), AVG()) yang menampilkan beberapa kolom.

Apakah perbedaan group by dan order by?

Jawaban. Jawaban: ORDER BY mengubah urutan pengembalian barang. GROUP BY akan menggabungkan catatan dengan kolom yang ditentukan yang memungkinkan Anda untuk melakukan fungsi agregasi pada kolom yang tidak dikelompokkan (seperti SUM, COUNT, AVG, dll).

Apa yang dimaksud dengan klausa group by?

Klausul GROUP BY di Access menggabungkan data dengan nilai yang sama dalam daftar bidang tertentu menjadi satu data. Nilai ringkasan dibuat untuk setiap data jika Anda menyertakan fungsi agregat SQL, seperti Sum atau Count, dalam pernyataan SELECT.

Apa fungsi dari sintaks order by?

Perintah ORDER BY merupakan perintah dasar SQL yang di gunakan untuk mengurutkan result-set dalam pengurutan 'ascending' atau 'descending'. Secara default perintah ORDER BY menampilkan record dalam pengurutan 'ascending' ('ASC').