Cara Mengelompokkan Data Di MySQL

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Mengelompokkan Data. Maksudnya mengelompokkan data disini adalah mengelompokkan data berdasarkan kelompok-kelompok tertentu misalkan jenis kelamin, alamat, departemen, gaji, dan lain sebagainya.

Untuk mengelompokkan data, Anda dapat menggunakan Order By Clause. Perlu Anda ingat, bahwa Order By Clause biasanya digunakan ketika Anda menggunakan fungsi agregat di SQL seperti fungsi SUM, COUNT, MAX, MIN, dan AVG.

Sintak Dasar


Di bawah ini adalah sintak dasar dari Order By clause Di MySQL:

SELECT column_name, agregate_function(column_name)
FROM table_name
WHERE [ conditions ]
GROUP BY [column_name]
ORDER BY [column_name]

Penjelasan sintak:

  • column_name setelah kata SELECT adalah nama kolom yang akan dikelompokkan datanya.
  • agregate_function adalah fungsi agregat yang digunakan, bisa berupa fungsi COUNT, SUM, MAX, MIN, maupun AVG
  • condition, apabila Anda ingin menambahkan kriteria-kriteria tertentu.
  • GROUP BY column_name, artinya data dikelompokkan berdasarkan column_name
  • ORDER BY column_name, artinya data diurutkan berdasarkan column_name.

Contoh


Misalkan Anda telah memiliki sebuah table "employee" dengan data-data sebagai berikut:

+-------------+---------------+--------+----------+---------+------------+
| employee_id | employee_name | gender | address  | salary  | departemen |
+-------------+---------------+--------+----------+---------+------------+
| 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
| 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
| 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
| 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
| 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
+-------------+---------------+--------+----------+---------+------------+

Dari data-data diatas,

  • Tampilkan jumlah data dari table "employee" berdasarkan jenis kelamin (gender)?
    Untuk menampilkan jumlah data, berarti Anda harus menggunakan fungsi COUNT seperti query berikut ini:
    mysql> SELECT gender, COUNT(*) jumlah_data
        -> FROM employee
        -> GROUP BY gender;
    +--------+-------------+
    | gender | jumlah_data |
    +--------+-------------+
    | L      |           2 |
    | P      |           3 |
    +--------+-------------+
    2 rows in set (0.00 sec)
    
  • Tampilkan jumlah data dari table "employee" berdasarkan departemen?
    Untuk menampilkan jumlah data, berarti Anda harus menggunakan fungsi COUNT seperti query berikut ini:
    mysql> SELECT departemen, COUNT(*) jumlah_data
        -> FROM employee
        -> GROUP BY departemen;
    +------------+-------------+
    | departemen | jumlah_data |
    +------------+-------------+
    | ACC        |           1 |
    | FIN        |           2 |
    | HRD        |           1 |
    | IT         |           1 |
    +------------+-------------+
    4 rows in set (0.00 sec)
    

Share this

Related Posts

Previous
Next Post »