Bagaimana Cara Mengurutkan Data (Sorting) di MySQL
Sintak Dasar
Secara umum, sintak dasar untuk mengurutkan data di MySQL adalah seperti dibawah ini:SELECT kolom_1, kolom_2, ..., kolom_n
ORDER BY kolom_1, [kolom_2] [ASC | DESC];
Penjelasan Sintak:
- Keyword ASC digunakan untuk mengurutkan data secara Ascending.
- Keyword DESC digunakan untuk mengurutkan data secara Descending.
- Secara default, ketika ORDER BY digunakan tanpa opsi ASC atau DESC, maka data yang diurutkan adalah Ascending.
- Anda bisa menggunakan opsi ASC dan DESC secara bersamaan sesuai dengan kebutuhan.
SELECT * FROM nama_table
ORDER BY posisi_kolom [ASC | DESC];
Penjelasan Sintak:
- posisi_kolom adalah posisi dari suatu kolom di table, seperti 1, 2, 3, dan seterusnya berdasarkan urutan kolom ketika tabel dibuat.
Contoh Query
Dibawah ini adalah contoh penggunaan query ORDER BY Clause,SELECT * FROM mahasiswa
ORDER BY nama ASC;
Anda juga bisa menggunakan perintah ORDER BY Clause dengan posisi kolom seperti di bawah ini:
SELECT * FROM mahasiswa
ORDER BY 1 ASC;
Latihan
Sebagai latihan Bagaimana Cara Mengurutkan Data di MySQL, coba Anda ikuti step-step di bawah ini
- Login ke database MySQL
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - Pilih database yang akan digunakan
mysql> use akademik;
Database changed - Buatlah tabel MAHASISWA dengan menggunakan perintah sebagai berikut
mysql> CREATE TABLE mahasiswa(
-> npm VARCHAR(10),
-> nama VARCHAR(30),
-> gender VARCHAR(1),
-> asal VARCHAR(30),
-> jurusan VARCHAR(30),
-> ipk DOUBLE(3,2),
-> PRIMARY KEY(npm)
-> );
Query OK, 0 rows affected (0.15 sec) - Insert data ke tabel MAHASISWA dengan data sebagai berikut:
mysql> INSERT INTO mahasiswa
-> VALUES('20151001','Nurul','P','Jakarta','Akuntansi',3.1);
Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20152001','Budi','L','Bandung','Teknik Mesin',2.9);
Query OK, 1 row affected (0.06 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20153001','Ida','P','Semarang','Sastra Inggris',3.5);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20154001','Eko','L','Jakarta','Teknik Informatika',3.25);
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20151002','Dina','P','Surabaya','Akuntansi',3.3);
Query OK, 1 row affected (0.06 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20154002','Doni','L','Makassar','Teknik Informatika',2.75);
Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20154003','Dinda','P','Jakarta','Teknik Informatika',3.65);
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20151003','Naura','P','Bandung','Akuntansi',2.85);
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20153002','Soni','L','Surabaya','Sastra Inggris',3.3);
Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO mahasiswa
-> VALUES('20154004','Iski','P','Semarang','Teknik Informatika',3.8);
Query OK, 1 row affected (0.09 sec) - Tampilkan semua data Mahasiswa dan urutkan berdasarkan nama (ascending)
mysql> SELECT * FROM mahasiswa
-> ORDER BY nama ASC;
+----------+-------+--------+----------+--------------------+------+
| npm | nama | gender | asal | jurusan | ipk |
+----------+-------+--------+----------+--------------------+------+
| 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 |
| 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 |
| 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 |
| 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 |
| 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 |
| 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 |
| 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 |
| 20151003 | Naura | P | Bandung | Akuntansi | 2.85 |
| 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 |
| 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 |
+----------+-------+--------+----------+--------------------+------+
10 rows in set (0.01 sec) - Tampilkan semua data Mahasiswa dan urutkan berdasarkan nama (descending)
mysql> SELECT * FROM mahasiswa
-> ORDER BY nama DESC;
+----------+-------+--------+----------+--------------------+------+
| npm | nama | gender | asal | jurusan | ipk |
+----------+-------+--------+----------+--------------------+------+
| 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 |
| 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 |
| 20151003 | Naura | P | Bandung | Akuntansi | 2.85 |
| 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 |
| 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 |
| 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 |
| 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 |
| 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 |
| 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 |
| 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 |
+----------+-------+--------+----------+--------------------+------+
10 rows in set (0.00 sec) - Tampilkan semua data Mahasiswa dan urutkan berdasarkan nama dan asal (ascending)
mysql> SELECT * FROM mahasiswa
-> ORDER BY nama ASC, asal ASC;
+----------+-------+--------+----------+--------------------+------+
| npm | nama | gender | asal | jurusan | ipk |
+----------+-------+--------+----------+--------------------+------+
| 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 |
| 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 |
| 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 |
| 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 |
| 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 |
| 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 |
| 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 |
| 20151003 | Naura | P | Bandung | Akuntansi | 2.85 |
| 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 |
| 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 |
+----------+-------+--------+----------+--------------------+------+
10 rows in set (0.00 sec) - Tampilkan semua data Mahasiswa dan urutkan berdasarkan nama (ascending), dan Jurusan (descending)
mysql> SELECT * FROM mahasiswa
-> ORDER BY nama ASC, jurusan DESC;
+----------+-------+--------+----------+--------------------+------+
| npm | nama | gender | asal | jurusan | ipk |
+----------+-------+--------+----------+--------------------+------+
| 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 |
| 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 |
| 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 |
| 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 |
| 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 |
| 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 |
| 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 |
| 20151003 | Naura | P | Bandung | Akuntansi | 2.85 |
| 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 |
| 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 |
+----------+-------+--------+----------+--------------------+------+
10 rows in set (0.00 sec) - Tampilkan semua data Mahasiswa dan urutkan berdasarkan posisi kolom ke-6 (IPK) secara ascending.
mysql> SELECT * FROM mahasiswa
-> ORDER BY 6 ASC;
+----------+-------+--------+----------+--------------------+------+
| npm | nama | gender | asal | jurusan | ipk |
+----------+-------+--------+----------+--------------------+------+
| 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 |
| 20151003 | Naura | P | Bandung | Akuntansi | 2.85 |
| 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 |
| 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 |
| 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 |
| 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 |
| 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 |
| 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 |
| 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 |
| 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 |
+----------+-------+--------+----------+--------------------+------+
10 rows in set (0.00 sec)
Referensi
Sekian tutorial Singkat Bagaimana Cara Mengurutkan Data (Sorting) di MySQL. Semoga bermanfaat & Selamat Belajar database MySQL.
Jika Anda menyukai tutorial ini, silahkan anda share dan bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.
Salam,
Naura-Lab
Comments
Post a Comment