Cara menggunakan distinct di mysql

Cara menggunakan distinct di mysql

Halo sahabat programmer, kali ini saya akan membahas mengenai penggunaan select distinct di mysql. Pada postingan sebelumnya saya telah membahas tentang pengelompokan data menggunakan group by lalu apakah penggunaan select distinct ini ada kaitannya dengan klausa/pernyataan group by? Mari simak pembahasan berikut ini.

Saat kita membuat query untuk menampilkan data pada suatu tabel, Sangat dimungkinkan kita akan mendapat duplikasi data pada baris tabel tersebut. Dengan menggunakan select distinct kita dapat menghapus duplikasi baris tersebut sehingga akan menampilkan data yang unik. Atau bisa juga dengan kata lain kita kelompokan data menjadi satu baris data yang unik untuk ditampilkan.

Baca juga:

  • Penggunaan group by di mysql
  • Mengubah struktur tabel di mysql

Berikut adalah sintak select distinct pada MySQL:

SELECT DISTINCT
    nama_kolom
FROM
    nama_tabel
WHERE
    kondisi_where;

Perintah query diatas merupakan perintah sql sederhana di mysql. Terdapat 3 klausa/pernyataan penting didalamnya, yang pertama select distinct untuk membuat baris unik pada kolom tertentu. Lalu selanjutnya From untuk menentukan tabel yang akan ditampilkan. dan kondisi where untuk membuat kondisi tertentu pada query yang dijalankan.

Pernyataan Select tanpa Klausa Distinct

Saya akan contohkan kepada teman-teman bagaimana perbedaan saat kita ingin menampilkan data pada sebuah tabel di mysql dengan dan tanpa pernyataan distinct. Pada contoh pertama saya membuat pernyataan select tanpa distinct seperti pada sintak berikut:

SELECT jurusan
FROM mahasiswa;

Cara menggunakan distinct di mysql

Dapat kita lihat dari hasil output diatas saya menampilan semua data pada kolom jurusan didalam tabel mahasiswa. Perhatikan hasil baris query diatas terdapat banyak duplikasi baris. Dengan menggunakan pernyataan DISTINCT maka duplikasi baris tersebut akan dihapus dan dikelompokan menjadi satu kelompok data yang unik

Pernyataan Select dengan Klausa Distinct

SELECT DISTINCT jurusan
FROM mahasiswa

Cara menggunakan distinct di mysql

Terlihat dari hasil output diatas bahwa baris data pada kolom jurusan telah dikelompokan menjadi baris data yang unik. Sehingga tidak terdapat baris data yang duplikasi seperti pada contoh penggunaan SELECT tanpa pernyataan DISTINCT diatas.

Persamaan pernyataan Select Distinct dan Group By

Penggunaan pernyataan select distinct sama dengan pernyataan grop by. dengan catatan tanpa menggunakan fungsi agregat seperti count,avg,sum,max,min dan lainnya. Berikut ini saya contohkan persamaan antara kedua klausa ini.

Query select distinct:

SELECT DISTINCT jurusan
FROM mahasiswa

Query group by:

SELECT jurusan
FROM mahasiswa
GROUP BY jurusan;
Cara menggunakan distinct di mysql

Perhatikan pada hasil output diatas antara pernyaatan SELECT DISTINCT dan GROUP BY memiliki persamaan yang sama yaitu untuk pengelompokan data menjadi satu kelompok data yang unik dengan menghapus duplikasi baris data pada suatu query dalam tabel.

Perbedaan pernyataan Select Distinct dan Group By

Pernyataan/klausa select distinct dengan group by keduanya merupakan perintah sql untuk mengelompokan data atau menampilkan baris unik pada query di suatu tabel. Namun terdapat perbedaan dari keduanya perbedan yang paling mendasar adalah pada penggunaan fungsi agregat. Pernyataan select distinct tidak dapat mengelompokan data dengan menggunakan fungsi agregat. Sementara dengan group by dapat melakukan hal tersebut.

Pernyataan Select Distinct dengan fungsi count

SELECT DISTINCT jurusan,count(*)
FROM mahasiswa;

Cara menggunakan distinct di mysql

Perhatikan pada hasil output diatas penggunaan select distinct tidak dapat diikutkan dengan fungsi agregat ketika ingin mengelompokan data seperti yang dapat dilakukan oleh pernyataan group by.

Penggunaan fungsi agregat di SELECT DISTINCT hanya dapat menghasilkan satu baris data. Penggunaan fungsi agregat dengan select distinct contohnya untuk menghitung jumlah data yang unik dari suatu kolom. Contohnya adalah sebagai berikut:

SELECT COUNT(DISTINCT jurusan)
FROM mahasiswa;

Cara menggunakan distinct di mysql

Pernyataan Group By dengan fungsi count

Selanjutnya mengenai pernyataan group by dengan fungsi agregat dapat dilakukan sekaligus, yaitu pada pengelompokan data dan jumlah masing-masing nilai dari kelompok data tersebut.

SELECT jurusan,count(*)
FROM mahasiswa
GROUP BY jurusan;

Cara menggunakan distinct di mysql

Dapat kita lihat dari hasil output diatas pernyataan group by dapat mengelompokan data sekaligus dapat menampilkan jumah data per kelompok dengan menggunakan fungsi count.

Saran Bacaan:

  • Cara membuat database mysql dengan phpmyadmin
  • Menampilkan data dalam tabel di mysql

Kesimpulan

Dari pembahasan kali ini mengenai penggunaan select distinct di mysql, dapat saya simpulkan bahwa penggunaan distinct adalah untuk menghapus duplikasi baris dan mengelompokan baris data secara unik. Namun kelemahannya adalah select distinct tidak dapat mengelompokan data sekaligus kolaborasi dengan fungsi agregat. Yang hal tersebut hanya dapat dilakukan dengan menggunakan pernyataan Group By.

Apa fungsi dari Distinct pada mysql?

Pernyataan SELECT DISTINCT digunakan untuk mengembalikan hanya nilai yang berbeda (berbeda). Di dalam tabel, kolom sering kali berisi banyak nilai duplikat; dan terkadang Anda hanya ingin membuat daftar nilai yang berbeda (berbeda).

Apa fungsi distinct SQL?

KETERANGAN. Fungsi Distinct mengevaluasi rumus di setiap rekaman tabel dan menghasilkan tabel satu kolom pada dengan nilai duplikat yang dihapus.

Apa itu select distinct?

Perintah SELECT DISTINCT digunakan untuk mengambil data-data yang berbeda pada suatu record. Di dalam tabel, field sering kali berisi banyak nilai duplikat; dan terkadang kita hanya ingin membuat daftar nilai yang berbeda.

Apa yang dimaksud dengan distinct?

Menurut Kamus Bahasa Inggris Terjemahan Indonesia, arti kata distinct adalah terpisah. Arti lainnya dari distinct adalah lain.