Hướng dẫn dùng desc order trong PHP

ORDER BY trong SQL được sử dụng cùng với SELECT để sắp xếp thứ tự (tăng dần, giảm dần) của tập kết quả trả về. Trước tiên tìm hiểu sắp xếp sql theo một cột.

Ví dụ: kết quả trả về sắp xếp theo tứ tự tăng dần của cột Hoten (do Hoten là text nên sắp xếp theo bảng chữ cái, vần A rồi đến B ..., trong trường hợp cột sắp xếp dạng số thì nó sẽ xếp theo giá trị theo kiểu số.)

SELECT * FROM Khachhang
ORDER BY Hoten
LIMIT 14, 9

Mặc định ORDER BY sắp xếp tăng dần (ASC giá trị nhỏ ở những dòng đầu lớn ở sau)

Kết quả:

KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
3 Lưu Trang Anh Lưu Trang Anh h Gia Lai Gia Lai 222 Mỹ
20 Mai Tùng Bách Mai Tùng Bách fxrtrx Đồng Tháp Đồng Tháp 100 Đức
11 Mạc Trung Đức Mạc Trung Đức ivwfcu Đồng Nai Đồng Nai 500 Việt Nam
90 Nguyễn Bích Thủy Nguyễn Bích Thủy dtfbfx Điện Biên Điện Biên 500 Ý
74 Nguyễn Diệu Hương Nguyễn Diệu Hương mamqnydv Đắk Nông Đắk Nông 300 Mỹ
18 Nguyễn Hùng Anh Nguyễn Hùng Anh d Đắk Lắk Đắk Lắk 200 Đức
39 Nguyễn Hữu Ngọc Khánh Nguyễn Hữu Ngọc Khánh nwsh Cao Bằng Cao Bằng 100 Việt Nam
14 Nguyễn Lê Hiếu Nguyễn Lê Hiếu giwumbyj Bình Thuận Bình Thuận 999 Ý
15 Nguyễn Lê Hiếu Nguyễn Lê Hiếu ffc Cà Mau Cà Mau 100 Anh

Có một file CSDL mẫu dạng SQLite, bạn có thể tải về thực hành: CSDL SQLite mẫu. Hoặc Chạy SQL Online

Từ khóa ORDER BY mệnh đề sắp xếp theo nhiều cột

ORDER BY cho phép xếp theo nhiều cột. Các cột chỉ ra trong mệnh đề ORDER BY cách nhau bởi dấu phảy, nó sẽ tiến hành sắp xếp lần lượt theo các cột được chỉ ra.

Ví dụ xếp kết quả truy vấn sau theo tên quốc gia (cột Quocgia), sau đó các kết quả cùng quốc gia xếp theo KhachhangID

SELECT * FROM Khachhang
ORDER BY Quocgia, KhachhangID
LIMIT 12,10

Kết quả: Bảng kết quả cho thấy các khách hàng có quốc giá Anh xếp trên nhóm khách hàng Mỹ do xếp theo tên quốc gia, Anh đứng trước trong bảng chữ cái. Sau đó các khách hàng cùng quốc gia được xếp theo KhachhangID (ID nhỏ xếp trên)

KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
60 Nguyễn Thị Bích Thúy Nguyễn Thị Bích Thúy tcv Quảng Bình Quảng Bình 500 Anh
75 Nguyễn Thu Hoài Nguyễn Thu Hoài opuza Bến Tre Bến Tre 455 Anh
80 Vũ Thị Thu Hương Vũ Thị Thu Hương r Đắk Nông Đắk Nông 500 Anh
82 Trần Thị Thanh Tâm Trần Thị Thanh Tâm xonov Hòa Bình Hòa Bình 100 Anh
84 Trần Diễm Thùy Dương Trần Diễm Thùy Dương xsyfrb Lai Châu Lai Châu 500 Anh
3 Lưu Trang Anh Lưu Trang Anh h Gia Lai Gia Lai 222 Mỹ
7 Tăng Phương Chi Tăng Phương Chi g Hải Dương Hải Dương 888 Mỹ
9 Nguyễn Thái Dương Nguyễn Thái Dương mnn Bạc Liêu Bạc Liêu 222 Mỹ
16 Phạm Xuân Hòa Phạm Xuân Hòa nfxh Lào Cai Lào Cai 222 Mỹ
25 Vũ Trung Đức Vũ Trung Đức bvny Cao Bằng Cao Bằng 300 Mỹ

ORDER BY tăng dần ASC, giảm dần DESC

Để chỉ rõ sắp xếp giảm dần trong sql, sắp xếp tăng dần trong sql thì mệnh đề ORDER BY kết hợp với từ khóa ASCDESC

  • ORDER BY tên-cột ASC, ... xếp tăng dần theo tên-cột, mặc định (asc trong sql không cần chỉ ra cũng được).
  • ORDER BY tên-cột DESC, ... Từ khóa desc trong sql để xếp giảm dần theo tên-cột.

Ví dụ xếp kết quả tên quốc gia giảm dần, sau đó trong cùng quốc gia thì CustomeID tăng dần

SELECT * FROM Khachhang
ORDER BY Quocgia DESC, KhachhangID ASC
LIMIT 50,10
KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
62 Đoàn Thị Thu Huyền Đoàn Thị Thu Huyền hqt Bắc Ninh Bắc Ninh 666 Việt Nam
68 Vũ Thị Phương Mai Vũ Thị Phương Mai erqcp Điện Biên Điện Biên 100 Việt Nam
71 Phạm Thu Hương Phạm Thu Hương nv Quảng Nam Quảng Nam 100 Việt Nam
76 Nguyễn Thị Lý Nguyễn Thị Lý jnu Vĩnh Phúc Vĩnh Phúc 100 Việt Nam
79 Nguyễn Quỳnh Giang Nguyễn Quỳnh Giang npkxbcod Bình Định Bình Định 666 Việt Nam
87 Bùi Thị Kim Oanh Bùi Thị Kim Oanh lghhp Lạng Sơn Lạng Sơn 222 Việt Nam
3 Lưu Trang Anh Lưu Trang Anh h Gia Lai Gia Lai 222 Mỹ
7 Tăng Phương Chi Tăng Phương Chi g Hải Dương Hải Dương 888 Mỹ
9 Nguyễn Thái Dương Nguyễn Thái Dương mnn Bạc Liêu Bạc Liêu 222 Mỹ
16 Phạm Xuân Hòa Phạm Xuân Hòa nfxh Lào Cai Lào Cai 222 Mỹ