ORDER BY dùng để sắp xếp kết quả trả về bởi câu lệnh SELECT. Thỉnh thoáng, bạn cần tùy biến cách sắp xếp, không phải theo cách
thông thường như ABC, 123…
VD: Chúng ta có bảng Currency dùng để liệt kê tiền tệ của các nước
Do phổ biến của USD, EUR và JPY, chúng ta muốn chúng
xuất hiện đầu
tiên. Các đơn vị tiền tệ khác sẽ xuất hiện sau và
theo thứ tự ABC.
Thay vì viết:
SELECT * FROM Sales.Currency ORDER BY CurrencyCode
Chúng ta sẽ viết:
SELECT * FROM Sales.Currency ORDER BY CASE WHEN CurrencyCode = 'USD' THEN NULL WHEN CurrencyCode = 'EUR' THEN 'AAA' WHEN CurrencyCode = 'JPY' THEN 'AAB' ELSE CurrencyCode END
Dùng câu lệnh CASE để tùy biến lại cách sắp xếp.
Kết quả sẽ là:
Lưu ý:
Nếu bạn muốn trả về giá
trị nào đó ở đầu danh sách sắp xếp, bạn dùng NULL.
Chúc các bạn thành công
Không có nhận xét nào:
Đăng nhận xét
Cám ơn bạn đã quan tâm đến bài viết của mình nhé!