18/08/2018, 10:52

(ORDER BY) Lấy kết quả theo thứ tự trong MySQL

Từ khóa ORDER BY dùng để sắp xếp danh sách kết quả theo thứ tự tăng dần hoặc giảm dần. Cú pháp sắp xếp danh sách kết quả theo thứ tự SELECT * FROM name_table ORDER BY name_column ASC (hoặc DESC); Trong đó: Thứ tự kết quả được sắp xếp dựa theo cột name_column. ASC là sắp xếp danh ...

Từ khóa ORDER BY dùng để sắp xếp danh sách kết quả theo thứ tự tăng dần hoặc giảm dần.

Cú pháp sắp xếp danh sách kết quả theo thứ tự

SELECT *
FROM name_table
ORDER BY name_column ASC (hoặc DESC);

Trong đó:

  • Thứ tự kết quả được sắp xếp dựa theo cột name_column.
  • ASC là sắp xếp danh sách kết quả theo thứ tự tăng dần. 
  • DESC là sắp xếp danh sách kết quả theo thứ tự giảm dần.
  • Nếu ASC|DESC bị bỏ trống, thì mặc định nó có nghĩa là ASC.

Một số ví dụ

Chúng ta có một bảng sinh_vien như sau:

(Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)

Full_name Gender Age City
Nguyen Thanh Nhan Nam 19 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Bui Thanh Bao Nam 19 Soc Trang
Le My Nhan Nu 22 Can Tho
Tan Thuc Bao Nam 35 An Giang
Trinh Giao Kim Nam 44 Bac Lieu

Ví dụ 1

Lấy danh sách sinh viên theo tứ tự tuổi giảm dần

SELECT *
FROM sinh_vien
ORDER BY Age DESC;

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Trinh Giao Kim Nam 44 Bac Lieu
Tan Thuc Bao Nam 35 An Giang
Le My Nhan Nu 22 Can Tho
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Nguyen Thanh Nhan Nam 19 Can Tho
Bui Thanh Bao Nam 19 Soc Trang

Ví dụ 2

Lấy danh sách sinh viên theo thứ tự giới tính giảm dần và tuổi tăng dần

SELECT *
FROM sinh_vien
ORDER BY Gender DESC, Age ASC;

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender Age City
Pham Thu Huong Nu 20 Vinh Long
Nguyen Nhu Ngoc Nu 20 Soc Trang
Le My Nhan Nu 22 Can Tho
Nguyen Thanh Nhan Nam 19 Can Tho
Bui Thanh Bao Nam 19 Soc Trang
Tan Thuc Bao Nam 35 An Giang
Trinh Giao Kim Nam 44 Bac Lieu

Ví dụ 3

Lấy danh sách họ tên và giới tính của sinh viên theo thứ tự tuổi giảm dần

SELECT Full_name, Gender
FROM sinh_vien
ORDER BY Age DESC;

Sau khi thực thi, MySQl trả về một bảng kết quả như dưới đây:

Full_name Gender
Trinh Giao Kim Nam
Tan Thuc Bao Nam
Le My Nhan Nu
Pham Thu Huong Nu
Nguyen Nhu Ngoc Nu
Nguyen Thanh Nhan Nam
Bui Thanh Bao Nam
0