MySQLi - Hasil Penyortiran

Kami telah melihat SQL SELECTperintah untuk mengambil data dari tabel MySQLi. Saat Anda memilih baris, server MySQLi bebas mengembalikannya dalam urutan apa pun, kecuali Anda menginstruksikan sebaliknya dengan mengatakan cara mengurutkan hasilnya. Tapi Anda mengurutkan hasil dengan menambahkan klausa ORDER BY yang memberi nama kolom atau kolom yang ingin Anda urutkan.

Sintaksis

Berikut adalah sintaks SQL generik dari perintah SELECT bersama dengan klausa ORDER BY untuk mengurutkan data dari tabel MySQL -

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Anda dapat mengurutkan hasil yang dikembalikan di bidang apa pun asalkan bidang itu dicantumkan.

  • Anda dapat mengurutkan hasil di lebih dari satu bidang.

  • Anda dapat menggunakan kata kunci ASC atau DESC untuk mendapatkan hasil dalam urutan naik atau turun. Secara default, ini urutan menaik.

  • Anda dapat menggunakan klausa WHERE ... LIKE dengan cara biasa untuk meletakkan condition.

Menggunakan klausa ORDER BY di Command Prompt

Ini akan menggunakan perintah SQL SELECT dengan klausa ORDER BY untuk mengambil data dari tabel MySQLi tutorials_inf.

Contoh

Coba contoh berikut, yang mengembalikan hasil dalam urutan menurun.

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf ORDER BY id desc;
+----+-------+
| id | name  |
+----+-------+
|  4 | ram   |
|  3 | raghu |
|  2 | johar |
|  1 | sai   |
+----+-------+
4 rows in set (0.00 sec)

mysql>

Pastikan semua id terdaftar dalam urutan menurun.

Menggunakan klausa ORDER BY di dalam Script PHP

Anda dapat menggunakan sintaks serupa dari klausa ORDER BY ke dalam fungsi PHP mysqli_query(). Fungsi ini digunakan untuk menjalankan perintah SQL dan kemudian fungsi PHP lainnyamysqli_fetch_array() dapat digunakan untuk mengambil semua data yang dipilih.

Contoh

Cobalah contoh berikut, yang mengembalikan hasil dalam urutan menurun dari penulis tutorial.

<?php
   $dbhost = 'localhost:3306';
   $dbuser = 'root';
   $dbpass = '';
   $dbname = 'TUTORIALS';
   $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
   
   if(! $conn ) {
      die('Could not connect: ' . mysqli_error());
   }
   echo 'Connected successfully</br>';
   $sql = 'SELECT * from tutorials_inf ORDER BY id desc';
   
   if($result = mysqli_query($conn, $sql)){
      if(mysqli_num_rows($result) > 0){
         echo "<table>";
         echo "<tr>";
         echo "<th>id</th>";
         echo "<th>name</th>";
         echo "</tr>";
         
         while($row = mysqli_fetch_array($result)){
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['name'] . "</td>";
            echo "</tr>";
         }
         echo "</table>";
         mysqli_free_result($result);
      } else {
         echo "No records matching your query were found.";
      }
   } else {
      echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
   }
   mysqli_close($conn);
?>

Output sampel harus seperti ini -

Connected successfully
id	name
4	ram
3	raghu
2	johar
1	sai