- Giới thiệu
- MySQL là gì
- Cài đặt
- Quản lý
- Cú pháp MySQL-PHP
- Kết nối MySQL
- Tạo Database
- Xóa Database
- Chọn cơ sở dữ liệu
- Kiểu dữ liệu
- Tạo bảng
- Xóa bảng
- Truy vấn Insert
- Truy vấn Select
- Mệnh đề Where
- Truy vấn Update
- Truy vấn Delete
- Mệnh đề Like
- Mệnh đề Order By
- Sử dụng Join
- Giá trị NULL
- Regexp trong MySQL
- Transaction trong MySQL
- Lệnh Alter
- Chỉ mục (Index)
- Bảng tạm (Temporary Table)
- Mô phỏng bảng
- Thông tin Database
- Sử dụng Sequence
- Xử lý bản sao
- SQL Injection
- Export và Sao lưu (Backup)
- Import và Phục hồi (Recovery)
- Mệnh đề Group By
- Mệnh đề In
- Mệnh đề Between
- Từ khóa Union
- Hàm hữu ích
- Tài liệu tham khảo
- Học SQL cơ bản và nâng cao
- Học PHP cơ bản và nâng cao
Mệnh đề ORDER BY trong MySQL
Bạn đã thấy cách lệnh SELECT trong SQL lấy dữ liệu từ bảng MySQL. Khi bạn chọn các hàng, MySQL Server tự do trả về chúng trong bất kỳ thứ tự nào, trừ khi bạn chỉ thị cho nó cách sắp xếp kết quả. Bạn có thể sắp xếp một tập kết quả bởi việc thêm một mệnh đề ORDER BY mà xác định rõ các hàng hoặc các cột bạn muốn sắp xếp.
Cú pháp
Cú pháp SQL chung của lệnh SELECT đi cùng với mệnh đề ORDER BY để sắp xếp dữ liệu từ bảng MySQL là:
SELECT truong1, truong2,...truongN FROM ten_bang ORDER BY truong1, [truong2...] [ASC [DESC]]
Bạn có thể sắp xếp kết quả trả về trên bất kỳ trường nào.
Bạn có thể sắp xếp kết quả trên nhiều hơn một 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, thứ tự là tăng dần.
Bạn có thể sử dụng mệnh đề WHERE…LIKE theo cách thông thường để xác định điều kiện.
Sử dụng mệnh đề ORDER BY để sắp xếp kết quả trong MySQL
Để lấy và sắp xếp dữ liệu từ bảng MySQL, bạn có thể sử dụng lệnh SELECT với mệnh đề ORDER BY.
Ví dụ sau sẽ trả về các bản ghi diemthi theo thứ tự tăng dần.
SELECT * FROM sinhvienk60 ORDER BY diemthi ASC;
Kết quả là:
+------+----------------+------------+---------+ | mssv | ho | ten | diemthi | +------+----------------+------------+---------+ | 3 | Nguyen Hoang | Huong | 7.50 | | 1 | Dinh Van | Cao | 8.00 | | 2 | Nguyen Van | Thanh | 9.00 | +------+----------------+------------+---------+
Sử dụng mệnh đề ORDER BY bên trong PHP Script
Bạn sử dụng cú pháp tương tự của mệnh đề ORDER BY trong hàm PHP là mysql_query(). Hàm này được sử dụng để thực thi lệnh SQL và sau đó hàm PHP khác là mysql_fetch_array() có thể được sử dụng để lấy tất cả dữ liệu đã chọn.
Ví dụ
Ví dụ sau trả về kết quả với thứ tự giảm dần của ten:
<?php $dbhost = 'localhost:3306'; $dbuser = 'root'; $dbpass = '123456'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Khong the ket noi: ' . mysql_error()); } $sql = 'SELECT mssv, ho, ten, diemthi FROM sinhvienk60 ORDER BY ten DESC'; mysql_select_db('sinhvien'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Khong the lay du lieu: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "MSSV :{$row['mssv']} <br> ". "Ho : {$row['ho']} <br> ". "Ten : {$row['ten']} <br> ". "Diem Thi : {$row['diemthi']} <br> ". "--------------------------------<br>"; } echo "Lay du lieu thanh cong\n"; mysql_close($conn); ?>
Sao chép code trên trong một trình soạn thảo chẳng hạn, lưu là orderby.php, bạn cần xác định các tham số $dbuser và $dbpass thích hợp (tùy theo cách bạn đã thiết lập với MySQL), sau đó, mở trình duyệt, chạy locallhost/orderby.php sẽ cho kết quả như sau:
Các bài học MySQL phổ biến khác tại AZCode: