Mengendalikan Urutan Kesimpulan – MySQL Dasar #62

Secara default klausa GROUP BY bukan hanya menghasilkan kesimpulan lalu mengelompokannya tetapi juga melakukan pengrutan. Tetapi jika misalnya hasil pengurutan dari Group by tidak sesuai dengan keinginan, maka Anda bisa menggunakan klausa pengurutan yaitu Order By.

Sebagai contoh bahwa GROUP by dibawah ini secara default akan menghasilkan pengurutan berdasarkan nama
MariaDB [root93]> SELECT nama, COUNT(*) AS hari,    
    -> SUM(km) AS total_km
    -> FROM daftar_supir
    -> GROUP by nama;
+-------+------+----------+
| nama  | hari | total_km |
+-------+------+----------+
| Ben   |    2 |      968 |
| Henri |    2 |      747 |
| Henry |    4 |     1425 |
| Susi  |    2 |      893 |
+-------+------+----------+
4 rows in set (0.001 sec)
Jika misalnya Anda ingin melakukan pengurutan berdasarkan hari pada kolom keluaran, maka Anda bisa tambahkan ORDER by setalah GROUP by seperti berikut
MariaDB [root93]> SELECT nama, COUNT(*) AS hari,
    -> SUM(km) AS total_km
    -> FROM daftar_supir
    -> GROUP BY nama
    -> ORDER by hari;
+-------+------+----------+
| nama  | hari | total_km |
+-------+------+----------+
| Henri |    2 |      747 |
| Ben   |    2 |      968 |
| Susi  |    2 |      893 |
| Henry |    4 |     1425 |
+-------+------+----------+
4 rows in set (0.001 sec)

MariaDB [root93]> SELECT nama, COUNT(*) AS hari,
    -> SUM(km) AS total_km
    -> FROM daftar_supir
    -> GROUP by nama
    -> ORDER by km DESC;
+-------+------+----------+
| nama  | hari | total_km |
+-------+------+----------+
| Susi  |    2 |      893 |
| Henri |    2 |      747 |
| Henry |    4 |     1425 |
| Ben   |    2 |      968 |
+-------+------+----------+
4 rows in set (0.001 sec)
Dalam kasus tertentu Anda mungkin tidak perlu menggunakan ORDER By didalam query kesimpulan yang Anda buat, caranya adalah dengan menggunakan Ekspresi yang tepat. Dimisalkan Anda ingin mengelompokan data pada tabel propinsi berdasarkan hari, maka Anda bisa membuat query seperti berikut :
MariaDB [root93]> SELECT DAYNAME(pendirian), COUNT(*)
    -> FROM propinsi
    -> GROUP by DAYNAME(pendirian);
+--------------------+----------+
| DAYNAME(pendirian) | COUNT(*) |
+--------------------+----------+
| Friday             |        2 |
| Monday             |        1 |
| Saturday           |        2 |
| Thursday           |        2 |
| Tuesday            |        1 |
| Wednesday          |        5 |
+--------------------+----------+
6 rows in set (0.001 sec)
Supaya lebih mudah kita bisa mengurutkan berdasarkan tatanan hari menggunakan DAYOFWEEK seperti berikut :
MariaDB [root93]> SELECT DAYNAME(pendirian), COUNT(*)
    -> FROM propinsi
    -> GROUP by DAYOFWEEK(pendirian);
+--------------------+----------+
| DAYNAME(pendirian) | COUNT(*) |
+--------------------+----------+
| Monday             |        1 |
| Tuesday            |        1 |
| Wednesday          |        5 |
| Thursday           |        2 |
| Friday             |        2 |
| Saturday           |        2 |
+--------------------+----------+
6 rows in set (0.001 sec)
Baca selanjutnya : Mencari Nilai Kesimpulan Terbesar – Terkecil dengan LIMIT - MySQL Dasar #63

0 Response to "Mengendalikan Urutan Kesimpulan – MySQL Dasar #62"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin