Sắp xếp kết quả trong SQL
Sắp xếp tăng dần trong SQL như thế nào? Bài viết sẽ chỉ cho bạn cách dùng asc trong SQL để sắp xếp thứ tự trong SQL.
Mệnh đề ORDER BY của SQL được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần, dựa trên một hoặc nhiều cột. Theo mặc định, một số cơ sở dữ liệu sắp xếp kết quả truy vấn theo thứ tự tăng dần.
Ngoài ra, mệnh đề ORDER BY cũng có thể sắp xếp dữ liệu trong bảng cơ sở dữ liệu theo thứ tự ưu tiên. Trường hợp này có thể không sắp xếp các bản ghi của bảng theo bất kỳ thứ tự chuẩn nào (như theo thứ tự chữ cái hoặc thứ tự từ điển), nhưng chúng có thể được sắp xếp dựa trên bất kỳ điều kiện bên ngoài nào. Ví dụ, trong bảng ORDERS chứa danh sách các đơn hàng do nhiều khách hàng của một tổ chức thực hiện, thông tin chi tiết về các đơn hàng đã đặt có thể được sắp xếp dựa trên ngày thực hiện đơn hàng đó. Điều này không cần phải được sắp xếp theo thứ tự chữ cái, thay vào đó, nó dựa trên "ai đến trước được phục vụ trước".
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.
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
-
Cách xóa và gỡ cài đặt hoàn toàn ứng dụng trên Android
Hôm qua -
Chuyển từ cơ số 2 sang cơ số 16
Hôm qua -
6 cách kiểm tra số dư tài khoản Vietinbank nhanh chóng
Hôm qua -
Cách chặn tìm kiếm Zalo qua số điện thoại
Hôm qua -
Hướng dẫn thay đổi mật khẩu Spotify
Hôm qua -
Hướng dẫn tải nhạc trên Tik Tok nhanh chóng, đơn giản
Hôm qua -
Top 9 phần mềm giả lập PC trên Android
Hôm qua -
6 cách kiểm tra số dư tài khoản Agribank nhanh chóng, chính xác
Hôm qua -
Huyền Thoại Hải Tặc - Hải Tặc Đại Chiến
-
Cách sử dụng ứng dụng Android trên Chromebook
Hôm qua