Công ty chứng khoán muốn xếp các tài khoản theo lợi nhuận giảm dần, nhưng tài khoản chưa có lợi nhuận (NULL) phải nằm cuối danh sách.
Dùng kỹ thuật ưu tiên NULL cuối bằng CASE trong ORDER BY.
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| matk | nvarchar | Mã tài khoản |
| loinhuan | int | Lợi nhuận (có thể NULL) |
Ví dụ: các tài khoản có lợi nhuận xếp trước theo giá trị giảm dần, NULL ở cuối.
Bảng tai_khoan.
NULL luôn ở cuối; cùng giá trị thì theo matk. Sắp xếp cờ NULL, rồi loinhuan giảm, rồi matk.
Các cột matk, loinhuan.
Ví dụ:
Đầu vào:
CREATE TABLE tai_khoan (matk nvarchar(10), loinhuan int);
INSERT INTO tai_khoan VALUES ('TK1',500),('TK2',NULL),('TK3',800),('TK4',NULL);Đầu ra:
TK3 800
TK1 500
TK2 NULL
TK4 NULL
Giải thích:
Đang tải editor...