Perbedaan Antara GROUP BY dan DISTINCT dalam MySQL

Perbedaan Antara GROUP BY dan DISTINCT dalam MySQL

Perbedaan Antara GROUP BY dan DISTINCT dalam MySQL - Pada kesempatan ini saya akan menjelaskan perbedaan antara DISTINCT dan GROUP BY dalam MySQL. Kedua perintah ini sering digunakan untuk mengelola dan menyaring data yang bersifat duplikat, tetapi memiliki tujuan yang berbeda.

Pengertian DISTINCT

DISTINCT adalah perintah yang digunakan dalam query MySQL untuk menghapus duplikasi dan hanya menampilkan nilai yang unik dari kolom yang dipilih.

Sintaks DISTINCT:

SELECT DISTINCT nama_kolom FROM nama_tabel;

  • DISTINCT hanya berlaku untuk kolom yang disebutkan dalam query.
  • Jika ada beberapa baris dengan nilai yang sama dalam kolom tersebut, hanya satu yang akan ditampilkan.

Contoh Data Dummy:
CREATE TABLE pelanggan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(50),
    kota VARCHAR(50)
);
INSERT INTO pelanggan (nama, kota) VALUES
('Andi', 'Jakarta'),
('Budi', 'Bandung'),
('Citra', 'Jakarta'),
('Andi', 'Jakarta'),
('Budi', 'Bandung'),
('Dewi', 'Surabaya'),
('Eka', 'Medan'),
('Fajar', 'Surabaya'),
('Gita', 'Bandung'),
('Hadi', 'Medan');

Baca Juga: Cara Menggunakan GROUP BY dan HAVING di MySQL

Contoh Penggunaan DISTINCT

Misalkan kita memiliki tabel pelanggan dengan data berikut:

Perbedaan Antara GROUP BY dan DISTINCT dalam SQL

Jika kita ingin menampilkan hanya nama pelanggan yang unik, kita bisa menggunakan query berikut:

SELECT DISTINCT nama FROM pelanggan;

Hasil Outputnya:

Perbedaan Antara GROUP BY dan DISTINCT dalam SQL

Query ini menghapus duplikasi dan hanya menampilkan nama pelanggan yang unik.

Pengertian GROUP BY

GROUP BY digunakan untuk mengelompokkan data berdasarkan nilai yang sama dalam satu atau lebih kolom. Biasanya, GROUP BY digunakan bersama dengan fungsi agregasi seperti COUNT(), SUM(), AVG(), MAX(), dan MIN().

Sintaks GROUP BY:

SELECT nama_kolom, fungsi_agregasi(nama_kolom) FROM nama_tabel GROUP BY nama_kolom;

  • GROUP BY mengelompokkan baris yang memiliki nilai yang sama dalam kolom yang disebutkan.
  • Fungsi agregasi dapat digunakan untuk menghitung atau menganalisis setiap kelompok data.

Contoh Penggunaan GROUP BY

Jika kita ingin menghitung jumlah pelanggan di setiap kota dari tabel pelanggan, kita bisa menggunakan query berikut:

SELECT kota, COUNT(nama) AS jumlah_pelanggan FROM pelanggan GROUP BY kota;

Hasil Outputnya:

Perbedaan Antara GROUP BY dan DISTINCT dalam SQL

Query ini mengelompokkan data berdasarkan kota dan menghitung jumlah pelanggan dalam setiap kota.

Perbedaan DISTINCT dan GROUP BY

Aspek DISTINCT GROUP BY
Fungsi Menghapus duplikasi Mengelompokkan data
Penggunaan Tidak bisa menggunakan fungsi agregasi Bisa menggunakan fungsi agregasi seperti COUNT(), SUM(), dll.
Hasil Menampilkan nilai unik dari kolom tertentu Menampilkan kelompok data berdasarkan kolom tertentu

Kapan Menggunakan DISTINCT dan GROUP BY?

  • Gunakan DISTINCT jika hanya ingin menghilangkan data duplikat tanpa melakukan agregasi.
  • Gunakan GROUP BY jika ingin mengelompokkan data dan menerapkan fungsi agregasi.

Contoh tambahan:

Jika ingin menampilkan daftar kota unik dari tabel pelanggan:

SELECT DISTINCT kota FROM pelanggan;

Hasil Outputnya:

Perbedaan Antara GROUP BY dan DISTINCT dalam SQL

Jika ingin menghitung jumlah pelanggan di setiap kota:

SELECT kota, COUNT(*) FROM pelanggan GROUP BY kota;

Hasil Outputnya:

Perbedaan Antara GROUP BY dan DISTINCT dalam SQL

Kesimpulan

DISTINCT digunakan untuk menghapus duplikasi dan menampilkan nilai unik.

GROUP BY digunakan untuk mengelompokkan data dan sering digunakan dengan fungsi agregasi.

Pemilihan antara DISTINCT dan GROUP BY tergantung pada kebutuhan analisis data yang dilakukan.

Semoga artikel ini membantu memahami perbedaan DISTINCT dan GROUP BY dalam MySQL. Selamat belajar!

Next Post Previous Post
No Comment
Add Comment
comment url