MySQLi - Sắp xếp kết quả
Chúng tôi đã thấy SQL SELECTlệnh tìm nạp dữ liệu từ bảng MySQLi. Khi bạn chọn các hàng, máy chủ MySQLi có thể trả lại chúng theo bất kỳ thứ tự nào, trừ khi bạn hướng dẫn khác bằng cách nói cách sắp xếp kết quả. Nhưng bạn sắp xếp tập hợp kết quả bằng cách thêm mệnh đề ORDER BY có tên cột hoặc các cột bạn muốn sắp xếp theo.
Cú pháp
Đây là cú pháp SQL chung của lệnh SELECT cùng với mệnh đề ORDER BY để sắp xếp dữ liệu từ bảng MySQL -
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
Bạn có thể sắp xếp kết quả trả về trên bất kỳ trường nào miễn là trường đó được liệt kê ra.
Bạn có thể sắp xếp kết quả trên nhiều trường.
Bạn có thể sử dụng từ khóa ASC hoặc DESC để nhận kết quả theo thứ tự tăng dần hoặc giảm dần. Theo mặc định, đó là thứ tự tăng dần.
Bạn có thể sử dụng mệnh đề WHERE ... LIKE theo cách thông thường để đặt điều kiện.
Sử dụng mệnh đề ORDER BY tại Command Prompt
Điều này sẽ sử dụng lệnh SQL SELECT với mệnh đề ORDER BY để tìm nạp dữ liệu từ bảng hướng dẫn của MySQLi.
Thí dụ
Hãy thử ví dụ sau, nó trả về kết quả theo thứ tự giảm dần.
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>
Xác minh tất cả các id được liệt kê theo thứ tự giảm dần.
Sử dụng mệnh đề ORDER BY bên trong PHP Script
Bạn có thể sử dụng cú pháp tương tự của mệnh đề ORDER BY vào hàm PHP mysqli_query(). Hàm này được sử dụng để thực thi lệnh SQL và sau đó là một hàm PHP khácmysqli_fetch_array() có thể được sử dụng để tìm nạp tất cả dữ liệu đã chọn.
Thí dụ
Hãy thử ví dụ sau, nó trả về kết quả theo thứ tự giảm dần của tác giả hướng dẫn.
<?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);
?>
Đầu ra mẫu phải như thế này -
Connected successfully
id name
4 ram
3 raghu
2 johar
1 sai