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.
Anda juga bisa mengurutkan data berdasarkan posisi kolom suatu table, yaitu seperti dibawah ini:

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

Jika Anda rasa artikel ini bermanfaat, saya sangat berterima kasih bila Anda mau membagikannya ke teman. Jangan lupa dapatkan update artikel terbaru dari Naura-Lab melalui email:

5 comments

Terima kasih ilmunya mas, barusan aku praktekkan dan langsung berhasil, its work, matur nuwon :)

Jual Jam Tangan Unik --> www.tokoonlinebaru.com

Reply

terimakasih infonya ,.. Sangat membantu :)

Reply

Mas, misal klo diurutkan 2 data berdasarkan ASC, tapi pasangan datanya tidak seragam gmn cara kerjanya?

Reply

makasih.. membantu banget

Reply

Post a Comment