MySQL adalah salah satu perangkat lunak yang kerap digunakan untuk pembuatan dan pengelolaan basis data dalam perangkat komputer maupun jaringan. Show
PembahasanPada 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 lanjutPada materi ini, kamu dapat belajar tentang MySQL: brainly.co.id/tugas/6369739 Detil jawabanKelas: SMA Mata pelajaran: TI Bab: - Kode kategori: - Kata kunci: group by mysql Picture: tutorialrepublic.comHalo 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 AggregateSebelum 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 MatematikaFungsi 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 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) 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 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) 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 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) 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) 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) Fungsi TextSekarang 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. 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) Fungsi Text — SUBSTRING_INDEX( )Fungsi Text SUBSTRING_INDEX() Syntax: SELECT SUBSTRING_INDEX(column, delimiter, index to return) 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. Fungsi Text — SUBSTR( )Syntax: SELECT SUBSTR(columnName, Start Index, Number of string to be extract) 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 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)
Fungsi Text — REPLACE( )Syntax: SELECT REPLACE(ColumnName, Character/String to be change, New String/Character) 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 Fungsi AggregateYok! Sekarang kita lanjut ke fungsi selanjutnya yakni Fungsi Aggregate. Biar kalian tahu, berikut ini adalah fungsi yang sering digunakan pada SQL. 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) 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) 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) Pengenalan GROUP BYUntuk 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 Hal penting yang perlu diperhatikan adalah:
“Apakah kita bisa menggunakan group by untuk mengelompokkan data menggunakan 2 kriteria atau 2 kolom?”
Group by Single ColumnFungsi 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! Group by Multiple ColumnDengan 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 Fungsi Aggregate dengan GroupingMasih 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, 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 CASE — Statement ditempatkan sesudah SELECT, berikut syntax-nya secara lengkap : SELECT ColumnName1, ColumnName2, 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 PenjualanYaaayyyy! 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:
Berikut adalah tabel tr_penjualan: Langkah 1: Total jumlah seluruh penjualan (total/revenue) SELECT sum(total) as total Langkah 2: Total quantity seluruh produk yang terjual. SELECT
sum(qty) as qty Langkah 3: Total quantity dan total revenue untuk setiap kode produk. SELECT kode_produk, sum(qty) as qty, sum(total) as total Maka keluar hasilnya sebagai berikut….. 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 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 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 MayerTerima 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').
|