Sắp xếp kết quả trong SQL
Sắp xếp trong SQL không khó. Không chỉ sắp xếp tăng dần trong SQL, bài viết sẽ hướng dẫn bạn cả sắp xếp giảm dần trong SQL.
Lệnh ORDER BY của SQL cho phép bạn sắp xếp kết quả tìm kiếm dựa trên nhu cầu cá nhân, theo thứ tự tăng dần hoặc giảm dần. Việc sắp xếp dữ liệu trong bảng mục tiêu thành các hàng và cột có thể giúp kết quả rõ ràng và dễ đọc hơn. Điều này giúp tối ưu hóa và tăng tốc các phân tích dữ liệu và truy vấn của bạn trong các tập dữ liệu phức tạp.
SQL ORDER BY là gì?
Bạn có thể sử dụng SQL ORDER BY để sắp xếp dữ liệu và kết quả từ các tập dữ liệu đơn giản hoặc phức tạp. Lệnh này cho phép bạn xác định cách dữ liệu được sắp xếp trong bảng mục tiêu. Ngoài ra, bạn có thể chỉ định dữ liệu được sắp xếp theo thứ tự tăng dần hay giảm dần. Vì vậy, ORDER BY giúp cung cấp kết quả truy vấn rõ ràng và dễ đọc.
Theo mặc định, ORDER BY cung cấp kết quả theo thứ tự tăng dần, tức là từ A đến Z hoặc từ giá trị nhỏ nhất đến lớn nhất. Nếu bạn muốn kết quả theo thứ tự giảm dần, bạn có thể sử dụng từ khóa tùy chọn DESC. Bạn có thể xác định một hoặc nhiều cột mục tiêu cho kết quả.
SQL ORDER BY rất quan trọng để thực hiện các truy vấn nhanh chóng và có tổ chức. Nó thường được sử dụng với SELECT, WHERE và các toán tử và hàm SQL khác như GROUP BY.
Cú pháp
Cú pháp cơ bản của mệnh đề ORDER BY được sử dụng để sắp xếp kết quả theo thứ tự tăng dần hoặc giảm dần như sau:
SELECT danhsach_cot
FROM ten_bang
[WHERE dieu_kien]
[ORDER BY cot_1, cot_2, .. cot_N] [ASC | DESC];Lưu ý:
- Nếu không chọn cụ thể ASC hay DESC trong mệnh đề ORDER BY thì kết quả sẽ mặc định được sắp xếp theo thứ tự tăng dần, tương đương với [ORDER BY cot1, cot2, .. cotN] [ASC].
- Bạn có thể sử dụng nhiều hơn một cột trong mệnh đề ORDER BY này. Lưu ý rằng bất cứ cột nào bạn đang sử dụng để sắp xếp đều phải có trong danhsach_cot.
Ví dụ
Giả sử bảng NHANVIEN có các bản ghi như sau:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 6 | Cao | 22 | HCM | 4500.00 | | 7 | Lam | 24 | Haiduong | 10000.00 | +----+----------+-----+-----------+----------+
Ví dụ sau minh họa cách sắp xếp theo thứ tự tăng dần cho TEN và LUONG.
SQL> SELECT *
FROM NHANVIEN
ORDER BY TEN, LUONG;Ví dụ trên trả về kết quả:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 6 | Cao | 22 | HCM | 4500.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 7 | Lam | 24 | Haiduong | 10000.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 1 | Thanh | 32 | Haiphong | 2000.00 | +----+----------+-----+-----------+----------+
Khối lệnh sau sẽ sắp xếp kết quả theo thứ tự giảm dần bởi trường TEN.
SQL> SELECT *
FROM NHANVIEN
ORDER BY TEN DESC;Kết quả trả về là:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 7 | Lam | 24 | Haiduong | 10000.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 6 | Cao | 22 | HCM | 4500.00 | +----+----------+-----+-----------+----------+
Để lấy các hàng với thứ tự ưu tiên riêng, truy vấn SELECT sẽ như sau:
SQL> SELECT * FROM NHANVIEN
ORDER BY (CASE DIACHI
WHEN 'Hanoi' THEN 1
WHEN 'Haiduong' THEN 2
WHEN 'HCM' THEN 3
ELSE 100 END) ASC, DIACHI DESC;Kết quả trả về là:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 2 | Loan | 25 | Hanoi | 1500.00 | | 7 | Lam | 24 | Haiduong | 10000.00 | | 6 | Cao | 22 | HCM | 4500.00 | | 1 | Thanh | 32 | Haiphong | 2000.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 4 | Manh | 25 | Hue | 6500.00 | +----+----------+-----+-----------+----------+
Đầu tiên, ta có thể sắp xếp nhân viên theo DIACHI với thứ tự của riêng mình, sau đó, các DIACHI còn lại sẽ được sắp xếp tự nhiên theo thứ tự đảo ngược của bảng chữ cái.
Những điểm quan trọng về mệnh đề ORDER BY trong SQL cần ghi nhớ
- Mệnh đề ORDER BY trong SQL được sử dụng để sắp xếp tập kết quả của câu lệnh SELECT dựa trên các cột được chỉ định.
- Mệnh đề này rất cần thiết để sắp xếp kết quả truy vấn và trình bày dữ liệu theo cách có cấu trúc.
- Nó có thể sắp xếp dữ liệu theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC).
- Nhiều cột có thể được chỉ định để sắp xếp, cho phép các tiêu chí sắp xếp phức tạp hơn.
- Chúng ta có thể sử dụng ORDER BY với mệnh đề WHERE, mệnh đề GROUP BY và mệnh đề HAVING.
Mệnh đề ORDER BY là một công cụ SQL cơ bản để sắp xếp kết quả truy vấn, cho phép bạn trình bày dữ liệu theo cách có cấu trúc. Cho dù sắp xếp theo một cột, nhiều cột hay sử dụng số cột, ORDER BY giúp bạn sắp xếp dữ liệu để phân tích và báo cáo tốt hơn. Bằng cách tìm hiểu cách sử dụng mệnh đề ORDER BY, bạn có thể tối ưu hóa các truy vấn SQL của mình để có khả năng đọc, cấu trúc và hiệu suất tốt hơn.
Có lựa chọn này thay thế cho ORDER By của SQL không?
Không có lựa chọn thay thế nào cho ORDER BY trong SQL với cùng hàm. Tuy nhiên, GROUP BY là một lệnh SQL thường được sử dụng kết hợp với ORDER BY. GROUP BY có thể được sử dụng để nhóm các bản ghi theo danh mục, và ORDER BY cũng có thể sắp xếp các bản ghi đó.
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Những stt hay nói về miệng lưỡi thế gian đáng để suy ngẫm
Hôm qua -

Công thức tính chu vi hình tứ giác, diện tích hình tứ giác
Hôm qua 1 -

30+ bài thơ về rượu bia hay, thơ chế về rượu bia hài hước và bá đạo cho dân nhậu
Hôm qua -

Sửa lỗi 0x80070643 trên Windows
Hôm qua -

Cài đặt Python Package với PIP trên Windows, Mac và Linux
Hôm qua -

Cách cho người lạ xem Nhật ký Zalo
Hôm qua -

Tổng hợp thao tác Touchpad trên Windows 10, Windows 11
Hôm qua -

Những trang web đen siêu hay không thể tìm thấy trên Google
Hôm qua 3 -

Cách chia sẻ một thư mục (folder) trên Windows 10
Hôm qua -

Stt về tiền hài hước, những câu nói hài hước về tiền nhưng thâm thúy, ‘thô mà thật’
Hôm qua
Học IT
Công nghệ
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy