Vấn đề:
Bạn muốn hiển thị các bản ghi từ một bảng theo thứ tự bảng chữ cái hoặc bảng chữ cái đảo ngược theo cột đã cho.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng tên là khách hàng. Bảng khách hàng chứa dữ liệu trong các cột id, first_name và last_name.
id | first_name | last_name |
---|---|---|
1 | Susan | Thomas |
2 | John | Michael |
3 | Tom | Muller |
Hãy hiển thị thông tin của từng khách hàng, được sắp xếp theo thứ tự tăng dần theo họ của họ.
Giải pháp:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
Truy vấn này trả về các bản ghi được sắp xếp theo thứ tự bảng chữ cái:
id | first_name | last_name |
---|---|---|
2 | John | Michael |
3 | Tom | Muller |
1 | Susan | Thomas |
Thảo luận:
Nếu bạn muốn chọn các bản ghi từ một bảng nhưng muốn thấy chúng được sắp xếp theo một cột nhất định, bạn có thể chỉ cần sử dụng ORDER BY
mệnh đề ở cuối SELECT
tuyên bố. Không quan trọng truy vấn SQL của bạn phức tạp hay dài đến mức nào— ORDER BY
luôn phải ở cuối lệnh.
Sau ORDER BY
từ khóa, bạn đặt tên cho cột mà các bản ghi sẽ được sắp xếp. Trong truy vấn của chúng tôi, chúng tôi sắp xếp theo họ của khách hàng.
hoặc
Theo mặc định, ORDER BY
mà không có bất kỳ mã xác định bổ sung nào sắp xếp theo thứ tự tăng dần (tương đương với việc sử dụng ASC
từ khóa rõ ràng). Như bạn có thể đoán, ASC
là viết tắt của "ascending." Nếu bạn muốn sắp xếp theo thứ tự giảm dần, hãy đơn giản hóa chỉ định DESC
từ khóa sau tên cột.
Truy vấn bên dưới tương tự như trước nhưng trả về danh sách khách hàng được sắp xếp theo thứ tự giảm dần theo họ của họ:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
id | first_name | last_name |
---|---|---|
1 | Susan | Thomas |
3 | Tom | Muller |
2 | John | Michael |