Menghasilkan Kesimpulan Subgrup – MySQL Dasar #56

Klausa GROUP by dapat digunakan untuk menghitung kesimpulan tiap subgrup dari sekelompok baris. Nantinya Group by dapat menata baris – baris kedalam grup – grup. 


Untuk lebih jelasnya saya akan berikan beberapa contoh kasus Dimisalkan untuk mengetahui berapa jumlah data/baris yang terdapat pada tabel daftar_supir, kita bisa menggunakan fungsi agregat seperti count seperti berikut :
MariaDB [root93]> SELECT count(*) FROM daftar_supir;
+----------+
| count(*) |
+----------+
|      10  |
+----------+
1 row in set (0.001 sec)
Tetapi didalam contoh kasus lain dimisalkan Anda ingin menghitung nilai kesimpulan (count) dari setiap nama supir kemudian menampilkannya/mengelempokannya kedalam baris – baris bedasarkan nama supir, dimana data yang ditampilkan berupa daftar nama supir beserta berapa jumlah datanya didalam tabel
MariaDB [root93]> SELECT nama,
    -> COUNT(nama)
    -> FROM daftar_supir
    -> GROUP by nama;
+-------+-------------+
| nama  | COUNT(nama) |
+-------+-------------+
| Ben   |           2 |
| Henri |           2 |
| Henry |           4 |
| Susi  |           2 |
+-------+-------------+
4 rows in set (0.001 sec)
Perhatikan bahwa fungsi GROUP by juga mengeliminasi duplikat, dimana data tiap subgrup akan dikelompokan menjadi group – group. Selain menggunakan fungsi COUNT, Anda juga bisa menggunakan fungsi agregat/kesimpulan lainnya seperti SUM atau AVG. Dimislakan Anda ingin mengetahui berapa jumlah total km da rata – rata km dari tabel daftar_supir, maka Anda bisa menuliskan query berikut :
MariaDB [root93]> SELECT nama,
    -> SUM(km) AS 'total km',
    -> AVG(km) AS 'total rerata km'
    -> FROM daftar_supir
    -> GROUP by nama;
+-------+----------+-----------------+
| nama  | total km | total rerata km |
+-------+----------+-----------------+
| Ben   |      968 |        484.0000 |
| Henri |      747 |        373.5000 |
| Henry |     1425 |        356.2500 |
| Susi  |      893 |        446.5000 |
+-------+----------+-----------------+
4 rows in set (0.001 sec)
Fungsi agregat seperti count didalam klausa group by juga bisa ditulis dengan cara lain. Misalnya sebelumnya count(ekspresi), Anda bisa saja menuliskannya menjadi count(*). Dimisalkan disini kit akan menghitung berapa banyak pesan yang dikirimkan oleh tiap pengirim pada tabel mail :
MariaDB [root93]> SELECT srcuser, COUNT(*) FROM mail
    -> GROUP by srcuser;
+---------+----------+
| srcuser | COUNT(*) |
+---------+----------+
| barb    |        3 |
| gene    |        5 |
| phil    |        3 |
| tricia  |        2 |
+---------+----------+
4 rows in set (0.001 sec)
Untuk mengetahui lebih sepesifik dan mengetahui berapa banyak pesan yang dikirim pengirim ke tiap host, kita juga bisa menuliskan query seperti berikut :
MariaDB [root93]> SELECT srcuser, srchost, COUNT(*) FROM mail
    -> GROUP by srcuser, srchost;
+---------+---------+----------+
| srcuser | srchost | COUNT(*) |
+---------+---------+----------+
| barb    | saturn  |        2 |
| barb    | venus   |        1 |
| gene    | mars    |        1 |
| gene    | saturn  |        2 |
| gene    | venus   |        2 |
| phil    | mars    |        2 |
| phil    | venus   |        1 |
| tricia  | mars    |        1 |
| tricia  | saturn  |        1 |
+---------+---------+----------+
9 rows in set (0.001 sec)
Selain menggunakan COUNT, SUM dan AVG, kita juga bisa menggunakan fungsi lainnya seperti MIN dan MAX. Dengan Klausa Group by, kedua fungsi tersebut dapat memberitahu kita nilai terendah dan tertinggi untuk setiap grup. Contoh query dibawah ini akan menampilkan nilai tertinggi dari tabel mail lalu mengelompokan berdasarkan pengirim pesan.
MariaDB [root93]> SELECT srcuser, MAX(ukuran), MAX(t)
    -> FROM mail
    -> GROUP by srcuser;
+---------+-------------+---------------------+
| srcuser | MAX(ukuran) | MAX(t)              |
+---------+-------------+---------------------+
| barb    |       98161 | 2021-10-13 12:32:41 |
| gene    |       32682 | 2021-10-13 10:43:39 |
| phil    |        7823 | 2021-10-13 10:42:32 |
| tricia  |      239238 | 2021-10-13 10:40:45 |
+---------+-------------+---------------------+
4 rows in set (0.001 sec)
Contoh lainnya kita juga dapat mengelompokan nilai berdasarkan ukuran dari setiap pasangan pengirim dan penerima
MariaDB [root93]> SELECT srcuser, dstuser, MAX(ukuran) FROM mail
    -> GROUP by ukuran;
+---------+---------+-------------+
| srcuser | dstuser | MAX(ukuran) |
+---------+---------+-------------+
| barb    | tricia  |         271 |
| phil    | phil    |        1048 |
| gene    | barb    |        2291 |
| gene    | gene    |        3623 |
| gene    | barb    |        3872 |
| phil    | tricia  |        5781 |
| phil    | barb    |        7823 |
| tricia  | gene    |       19263 |
| gene    | gene    |       22332 |
| gene    | gene    |       32682 |
| barb    | tricia  |       58274 |
| barb    | barb    |       98161 |
| tricia  | phil    |      239238 |
+---------+---------+-------------+
13 rows in set (0.001 sec)
Selanjutnya dimisalkan Anda ingin mengetahui daftar supir berdasarkan perjalanan terjauh tiap supir dari tabel daftar_supir, maka query yang dihasilkannya kurang lebih akan ditampilkan seperti berikut
MariaDB [root93]> SELECT nama, MAX(km) AS 'terjauh'
    -> FROM daftar_supir
    -> GROUP by nama;
+-------+---------+
| nama  | terjauh |
+-------+---------+
| Ben   |     837 |
| Henri |     380 |
| Henry |     574 |
| Susi  |     502 |
+-------+---------+
4 rows in set (0.001 sec)
Tetapi jika misalnya Anda juga ingin menampilkan tanggal kapan perjalanan terpanjang tersebut dilakukan oleh tiap supir, maka mungkin akan terjadi kesalahan seperti berikut
MariaDB [root93]> SELECT nama, tanggal_travel, MAX(km) AS 'terjauh' FROM daftar_supir GROUP by nama;
+-------+----------------+---------+
| nama  | tanggal_travel | terjauh |
+-------+----------------+---------+
| Ben   | 2014-11-29     |     837 |
| Henri | 2014-11-27     |     380 |
| Henry | 2014-11-29     |     574 |
| Susi  | 2014-11-29     |     502 |
+-------+----------------+---------+
4 rows in set (0.001 sec)
sekilas memang tidak ada yang salah dari hasil query yang ditampilkan diatas, tetapi jika Anda melihat data pada tabel daftar_supir secara keseluruhan maka Anda akan menemukan kesalahan dimana tanggal_travel yang ditampilkan tidak sesuai dengan tanggal travel yang memiliki perjalanan terjauh
MariaDB [root93]> SELECT * FROM daftar_supir;
+--------+-------+----------------+------+
| id_rek | nama  | tanggal_travel | km   |
+--------+-------+----------------+------+
|      1 | Susi  | 2014-11-29     |  391 |
|      2 | Henry | 2014-11-29     |  300 |
|      3 | Henri | 2014-11-27     |  367 |
|      4 | Ben   | 2014-11-29     |  131 |
|      5 | Henry | 2014-11-26     |  278 |
|      6 | Susi  | 2014-12-02     |  502 |
|      7 | Henry | 2014-12-01     |  273 |
|      8 | Ben   | 2014-12-02     |  837 |
|      9 | Henry | 2014-11-30     |  574 |
|     10 | Henri | 2014-11-26     |  380 |
+--------+-------+----------------+------+
10 rows in set (0.001 sec)
Hal ini disebabkan ketika Anda menuliskan klausa GROUP by pada sebuah query, maka nilai – nilai yang Anda seleksi adalah kolom – kolom yang dikelompokan berdasarkan nilai – nilai yang dihitung kesimpulannya menggunakan fungsi agregat. Oleh sebab itu untuk mengatasi masalah tersebu, Anda bisa menggunakan parameter MAX CONCAT seperti berikut :
MariaDB [root93]> SELECT nama,
    -> SUBSTRING(MAX(CONCAT(LPAD(km,3,''),tanggal_travel)),4) AS tanggal,
    -> LEFT(MAX(CONCAT(LPAD(km,3,''),tanggal_travel)),3) AS terjauh
    -> FROM daftar_supir
    -> GROUP by nama;
+-------+------------+---------+
| nama  | tanggal    | terjauh |
+-------+------------+---------+
| Ben   | 2014-12-02 | 837     |
| Henri | 2014-11-26 | 380     |
| Henry | 2014-11-30 | 574     |
| Susi  | 2014-12-02 | 502     |
+-------+------------+---------+
4 rows in set (0.001 sec)
Baca Selanjutnya : Kesimpulan pada nilai NULL – MySQL Dasar #57

0 Response to "Menghasilkan Kesimpulan Subgrup – MySQL Dasar #56 "

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin

nagabet76slot gacorslot online1213141516Slot Online Menghadirkan Pengalaman Digital Yang Didukung Pemrosesan Data Secara Real TimeMahjongways Menganalisis Pola Visual Dan Dinamika Simbol Berdasarkan Pemrosesan Data DigitalMahjongways Mengembangkan Dinamika Permainan Melalui Pengelolaan Data Dan Elemen Visual TerintegrasiAnalisis Komputasi Modern Membantu Memetakan Dinamika Sistem Digital Berdasarkan Data ObservasiMember Baru Mendorong Dinamika Komunitas Digital Menuju Pengalaman Yang Lebih Aktif Dan Menarikslot onlinemahjongwayasarsitektur layananpemrosesan data adaptifmember baruSlot Online Terbaru Menghadirkan AnalisisScatter Hitam Dianalisis Melalui PemetaanPola Scatter Hitam Membentuk Distribusi Visual Yang Dapat Dikaji Menggunakan Komputasi AdaptifArsitektur Teknologi TerdistribusiTeknologi Visualisasi DataMahjongways Mengembangkan Interaksi Visual Melalui Integrasi Simbol Digital Yang DinamisAnalisis Mahjongways Memetakan Dinamika Visual Dan Respons Antarmuka Berbasis DataScatter Hitam Dianalisis Melalui Pemetaan Struktur Simbol Digital Berbasis Komputasi AdaptifAlgoritma Scatter Hitam Membantu Mengidentifikasi Dinamika Pola Melalui Analisis Data ObservasiPg Soft Mengembangkan Sistem Rendering Adaptif Untuk Mendukung Visualisasi Digital ModernTeknologi Pg Soft Mengoptimalkan Pemrosesan Grafis Melalui Arsitektur Rendering TerintegrasiTeknologi Pemodelan Data Membantu Menganalisis Dinamika Informasi Pada Ekosistem Digital ModernArsitektur Komputasi Terdistribusi Meningkatkan Keandalan Pengelolaan Data Pada Platform DigitalTeknologi Kecerdasan Komputasional Mendorong Pengembangan Sistem Digital Yang Lebih AdaptifPemrosesan Data Modern Membantu Memetakan Pola Informasi Melalui Pendekatan Komputasi TerukurTeknologi Integrasi Data Mempermudah Sinkronisasi Informasi Dalam Lingkungan Digital TerpaduVisualisasi Komputasi Modern Membantu Menginterpretasikan Perubahan Pola Pada Sistem Digital KompleksTeknologi Otomasi Data Meningkatkan Efisiensi Pengelolaan Informasi Pada Infrastruktur DigitalModel Komputasi Adaptif Mendukung Pengembangan Teknologi Digital Melalui Analisis Data BerkelanjutanPengembangan Pg Soft Mengintegrasikan Teknologi Rendering Dengan Interaksi Visual Yang ResponsifPg Soft Menerapkan Komputasi Visual Untuk Meningkatkan Efisiensi Pengolahan Elemen DigitalEksplorasi Scatter Hitam Memetakan Distribusi Simbol Melalui Model Analitik Digital TerintegrasiPola Scatter Hitam Dikaji Menggunakan Pendekatan Visualisasi Data Dan Pemodelan StatistikMahjongways Menghadirkan Pendekatan Visual Interaktif Melalui Pemrosesan Simbol Yang AdaptifEksplorasi Mahjongways Mengungkap Perubahan Pola Visual Dalam Lingkungan Digital Terintegrasiai kasino online dan perdebatan teknologi prediksi digitalkecerdasan buatan menelaah perubahan industri kasino onlinekasino online dalam sorotan otomatisasi dan analisis datamengenal batas penggunaan ai pada kasino digitalteknologi ai membuka diskusi baru seputar game kasinoantara algoritma dan peluang dalam kasino onlineai kasino digital dari perspektif etika dan keamananmembaca fenomena kasino online melalui analisis komputasibenarkah ai bisa memprediksi hasil kasino onlinemasa depan kasino digital di tengah perkembangan aitren mahjong bergerak dari simbol klasik ke visual modernmahjong digital dan munculnya gaya ilustrasi barumengapa tema mahjong kembali menarik perhatian publiktren mahjong dalam catatan komunitas hiburan internetdesain mobile memberi arah baru pada tema mahjongmahjong dan pertemuan budaya tradisional dengan teknologimembaca popularitas mahjong lewat perubahan estetika gamemedia digital mengamati pergeseran tren permainan mahjongsimbol bersejarah menjadi inspirasi tren mahjong modernfenomena mahjong dan kreativitas dalam budaya digitalmahjong ways dan sweet bonanza dalam tren game digitalfortune tiger dan gates of olympus jadi bahasan komunitas gamemahjong ways 2 dan starlight princess dari sisi visualfortune ox dan big bass bonanza dalam ulasan game onlinemahjong wins dan wild west gold mengusung tema berbedafortune rabbit dan sugar rush dalam dunia game mobilemahjong treasure dan sweet bonanza menarik perhatian pengamatfortune mouse dan gates of gatot kaca dengan identitas unikmahjong cash dan the dog house dalam perbandingan desainfortune dragon dan joker jewels dari perspektif animasiqris pg soft dan arah baru transaksi game digitalmengenal peran qris pada pembayaran layanan gamepg soft dalam pembahasan sistem pembayaran elektroniktransaksi digital pg soft dilihat dari sisi keamanantren qris dan perubahan ekosistem game onlinesebelum memindai qris pahami verifikasi pembayaranpembayaran qris dan identitas layanan game pg softcatatan digital mengenai qris dalam industri gamememahami batas keamanan transaksi qris pg softqris dan pg soft dalam lanskap hiburan interaktifmahjong online dan pembayaran qris dalam sorotan digitalmembahas qris di tengah tren mahjong onlinesistem pembayaran elektronik pada layanan mahjong onlineqris mahjong online dan pentingnya konfirmasi transaksiperubahan metode bayar dalam ekosistem mahjong digitalmenelusuri kaitan mahjong online dengan teknologi qriskeamanan transaksi qris saat mengakses layanan gamemahjong online dilihat dari perspektif pembayaran modernapa yang perlu diketahui soal qris mahjong onlinepembayaran qris dan literasi digital pengguna mahjongalgoritma mahjong dan logika di balik game digitalmembaca peran sistem acak dalam permainan mahjongmahjong digital dalam tinjauan peluang dan probabilitasmitos pola algoritma mahjong yang perlu dipahamicara kerja rng dalam permainan mahjong onlineanalisis data bukan jaminan hasil game mahjongalgoritma game dan batas prediksi hasil permainanmemahami statistik di balik sistem mahjong digitalpola visual mahjong dan perbedaan dengan peluangteknologi permainan mahjong dari sisi logika komputasiai mahjong online dan perkembangan teknologi interaktifkecerdasan buatan menjadi topik baru dalam game mahjongmahjong online dalam analisis teknologi ai terkinimenelaah penggunaan ai pada permainan berbasis digitalai dan perubahan pengalaman pengguna mahjong onlinebisakah ai memprediksi hasil mahjong onlinemahjong digital dan batas kemampuan analisis kecerdasan buatanteknologi ai mengubah cara game online dikajimengenal data dan pembelajaran mesin dalam game mahjongai mahjong online antara analisis data dan mitos prediksiprediksi mahjong online dan batas analisis peluangmembaca statistik mahjong tanpa mengabaikan faktor acakmahjong dan mitos prediksi hasil di komunitas digitalbisakah data membantu menganalisis permainan mahjongprediksi mahjong dari sudut pandang probabilitas digitalpola visual mahjong bukan jaminan hasil permainanteknologi rng dan keterbatasan prediksi game mahjongmengenali perbedaan analisis data dan tebakan mahjongfenomena prediksi mahjong dalam perbincangan pengguna internetmengulas peluang mahjong dengan pendekatan statistikmengenal aturan dasar dan susunan tile permainan mahjongcara memahami kombinasi tile dalam permainan mahjongmahjong untuk pemula mengenali simbol dan alur permainanlangkah awal mempelajari strategi dasar mahjongpanduan memahami giliran dan kombinasi dalam mahjongbelajar mahjong dari pengenalan tile hingga aturan menangkesalahan pemula saat mempelajari permainan mahjongmengenal perbedaan mahjong tradisional dan versi digitalcara membaca simbol dan menyusun kombinasi tile mahjongdasar permainan mahjong yang perlu dipahami pemain barukasino online dalam sorotan perkembangan hiburan berbasis internetmemahami sistem acak dan peluang di kasino onlinekasino digital dan tantangan keamanan transaksi elektronikmenelusuri dampak sosial fenomena kasino onlineteknologi di balik perubahan layanan kasino onlinekasino online dari perspektif regulasi dan literasi digitalrisiko finansial yang perlu dikenali dalam kasino onlinemedia digital mengulas perkembangan industri kasino onlineantara teknologi dan perlindungan pengguna kasino onlinemengenali mitos peluang menang dalam kasino berbasis internetjudi online dan tantangan literasi digital masyarakatmenelaah pengaruh judi online terhadap kebiasaan keuanganfenomena judi online dalam perbincangan media nasionaldi balik promosi judi online kenali risiko yang munculjudi online dan pentingnya kesadaran terhadap keuangan pribadimembahas peran media sosial dalam penyebaran judi onlinegenerasi muda dan ancaman paparan konten judi onlinemengenali modus penipuan yang mengatasnamakan judi onlinejudi online dalam tinjauan dampak sosial dan keluargaliterasi internet menjadi bekal menghadapi risiko judi onlineberita terkini mahjong online menjadi sorotan pengguna digitalfenomena mahjong online kembali mewarnai pemberitaan gamemedia digital mengulas perubahan tren mahjong onlinemahjong online dan perbincangan baru di komunitas internetperkembangan mahjong online masuk sorotan industri hiburanlaporan terbaru menyoroti popularitas mahjong onlinemahjong online di tengah perubahan arah game digitalsorotan media hari ini membahas fenomena mahjong onlinetren mahjong online mengundang perhatian pengamat dunia digitalkabar terkini seputar mahjong online dan budaya internetalgoritma ai mahjong dalam sorotan teknologi game terkinimahjong online dan perkembangan analisis ai digitalkecerdasan buatan menelaah sistem mahjong berbasis algoritmatren ai mahjong memunculkan diskusi baru di media digitalmengenal peran algoritma ai pada game mahjong onlineteknologi ai dan batas prediksi hasil mahjong digitalalgoritma mahjong dianalisis melalui pendekatan kecerdasan buatanberita teknologi mengulas ai dalam permainan mahjongsistem acak mahjong dan tantangan analisis algoritma aifenomena ai mahjong online dalam perkembangan game modernmahjong online menghadirkan interpretasi baru simbol tradisionalsaat mahjong online menjadi objek bahasan portal digitaldesain antarmuka membentuk identitas mahjong onlinemahjong online dan pergeseran gaya hiburan berbasis mobilemengenal unsur grafis dalam permainan mahjong onlinekomunitas internet menyoroti fenomena mahjong onlinemahjong online dalam catatan perkembangan industri gamedari motif klasik menuju estetika mahjong onlinemahjong online dibahas dari sisi teknologi dan pengalaman penggunamengamati perjalanan mahjong online di ekosistem hiburan digitalalgoritma pg soft dan logika sistem permainan digitalmengenal rng dalam game pg soft dari sisi teknologipg soft dan peran probabilitas pada permainan berbasis digitalmembahas algoritma pg soft tanpa mengandalkan mitos polasistem acak pg soft dalam tinjauan komputasi modernanalisis data pg soft dan batas prediksi hasil permainanbagaimana algoritma game pg soft dipahami secara teknispg soft dalam diskusi statistik dan peluang permainanmengurai mitos algoritma pg soft di komunitas onlineteknologi pg soft dan transparansi sistem permainan digital