Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

MySQL Bài 14: Cách sắp xếp thứ tự của các kết quả trả về trong MySQL

– Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh ORDER BY thường được dùng kết hợp với lệnh SELECT để sắp xếp các kết quả trả về theo thứ tự tăng dần hoặc giảm dần (dựa trên giá trị của một cột nào đó)

– Nếu muốn sắp xếp kết quả theo thứ tự TĂNG DẦN thì sử dụng cú pháp:

SELECT column1, column2, column3, . . . .
FROM table_name
ORDER BY columnN ASC;

– Nếu muốn sắp xếp kết quả theo thứ tự GIẢM DẦN thì sử dụng cú pháp:

SELECT column1, column2, column3, . . . .
FROM table_name
ORDER BY columnN DESC;

Lưu ý: ColumnN là tên của cái cột mà chúng ta muốn dựa vào nó để sắp xếp thứ tự của các kết quả trả về.

MỘT SỐ VÍ DỤ

– Trong bài học này, tôi sẽ sử dụng cái bảng Student như bên dưới để làm một số ví dụ minh họa.

IDNameGenderAgeCity
1Lê Thị Tuyết MaiNữ23An Giang
2Tây Môn KhánhNam19Cần Thơ
3Phan Kim LiênNữ20Cần Thơ
4Nguyễn Thành SángNam24Bạc Liêu
5Võ Đại LangNam19An Giang
6Nguyễn Thành NhânNam22Bạc Liêu
7Lý Mạc SầuNữ21Cần Thơ
8Nguyễn Sơn TuyếnNữ22An Giang
9Âu Dương PhongNam20Bạc Liêu
Ví dụ 1:

– Liệt kê danh sách sinh viên theo thứ tự tuổi tăng dần.

SELECT * FROM Student ORDER BY Age ASC;

– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.

IDNameGenderAgeCity
2Tây Môn KhánhNam19Cần Thơ
5Võ Đại LangNam19An Giang
3Phan Kim LiênNữ20Cần Thơ
9Âu Dương PhongNam20Bạc Liêu
7Lý Mạc SầuNữ21Cần Thơ
6Nguyễn Thành NhânNam22Bạc Liêu
8Nguyễn Sơn TuyếnNữ22An Giang
1Lê Thị Tuyết MaiNữ23An Giang
4Nguyễn Thành SángNam24Bạc Liêu

Lưu ý: Khi sử dụng lệnh ORDER BY thì mặc định các kết quả trả về sẽ được sắp xếp theo thứ tự tăng dần. Cho nên, nếu muốn sắp xếp theo thứ tự tăng dần thì chúng ta không nhất thiết phải thêm từ ASC.

– Ví dụ như SELECT * FROM Student ORDER BY Age ASC;SELECT * FROM Student ORDER BY Age; đều có chung một ý nghĩa.

Ví dụ 2:

– Liệt kê danh sách sinh viên theo thứ tự tuổi giảm dần.

SELECT * FROM Student ORDER BY Age DESC;

– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.

IDNameGenderAgeCity
4Nguyễn Thành SángNam24Bạc Liêu
1Lê Thị Tuyết MaiNữ23An Giang
6Nguyễn Thành NhânNam22Bạc Liêu
8Nguyễn Sơn TuyếnNữ22An Giang
7Lý Mạc SầuNữ21Cần Thơ
3Phan Kim LiênNữ20Cần Thơ
9Âu Dương PhongNam20Bạc Liêu
2Tây Môn KhánhNam19Cần Thơ
5Võ Đại LangNam19An Giang
Ví dụ 3:

– Liệt kê danh sách sinh viên theo thứ tự tuổi giảm dần, rồi đến thứ tự thành phố tăng dần.

SELECT * FROM Student ORDER BY Age DESC, City ASC;

– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.

IDNameGenderAgeCity
4Nguyễn Thành SángNam24Bạc Liêu
1Lê Thị Tuyết MaiNữ23An Giang
8Nguyễn Sơn TuyếnNữ22An Giang
6Nguyễn Thành NhânNam22Bạc Liêu
7Lý Mạc SầuNữ21Cần Thơ
9Âu Dương PhongNam20Bạc Liêu
3Phan Kim LiênNữ20Cần Thơ
5Võ Đại LangNam19An Giang
2Tây Môn KhánhNam19Cần Thơ

Lưu ý: Nếu chúng ta sắp xếp thứ tự của các kết quả trả về dựa trên nhiều cột thì những cột nào khai báo trước sẽ được sắp xếp trước.

– Ví dụ như khi chúng ta thực thi lệnh SELECT * FROM Student ORDER BY City ASC, Age DESC; thì nó sẽ cho ta một bảng dữ liệu khác so với câu lệnh phía trên.

IDNameGenderAgeCity
1Lê Thị Tuyết MaiNữ23An Giang
8Nguyễn Sơn TuyếnNữ22An Giang
5Võ Đại LangNam19An Giang
4Nguyễn Thành SángNam24Bạc Liêu
6Nguyễn Thành NhânNam22Bạc Liêu
9Âu Dương PhongNam20Bạc Liêu
7Lý Mạc SầuNữ21Cần Thơ
3Phan Kim LiênNữ20Cần Thơ
2Tây Môn KhánhNam19Cần Thơ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *