Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Làm thế nào để sắp xếp theo hai cột trong SQL?

Vấn đề:

Bạn cần hiển thị các bản ghi từ một bảng nhất định được sắp xếp theo hai cột.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng có tên là employee với các cột sau:id , first_name , last_namesalary .

id first_name last_name lương
1 Lisa Ulman 3000
2 Ada Muller 2400
3 Thomas Màu xanh lá cây 2400
4 Michael Muller 3000
5 Mary Màu xanh lá cây 2400

Hãy hiển thị tất cả thông tin cho từng nhân viên nhưng sắp xếp hồ sơ theo mức lương theo thứ tự giảm dần trước rồi đến họ theo thứ tự tăng dần.

Giải pháp:

SELECT id,  
  first_name,
  last_name,
  salary
FROM employee
ORDER BY salary DESC, last_name;

Truy vấn này trả về các bản ghi được sắp xếp theo hai cột: tiền lương last_name .

<
id first_name last_name lương
4 Michael M uller 3000
1 Lisa U lman 3000
3 Thomas G reen 2400
5 Mary G reen 2400
2 Ada M uller 2400

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 hai cột, bạn có thể làm như vậy với ORDER BY . Mệnh đề này nằm ở cuối truy vấn SQL của bạn.

Sau ORDER BY từ khóa, hãy thêm tên của cột mà bạn muốn sắp xếp các bản ghi trước (trong ví dụ của chúng tôi là tiền lương). Sau đó, sau dấu phẩy, hãy thêm cột thứ hai (trong ví dụ của chúng tôi là last_name ). Bạn có thể sửa đổi thứ tự sắp xếp (tăng dần hoặc giảm dần) riêng cho từng cột. Nếu bạn muốn sử dụng thứ tự tăng dần (từ thấp đến cao), bạn có thể sử dụng ASC từ khóa; Tuy nhiên, từ khóa này là tùy chọn, vì đó là thứ tự mặc định khi không có từ khóa nào được chỉ định. Nếu bạn muốn sử dụng thứ tự giảm dần, hãy đặt DESC từ khóa sau cột thích hợp (trong ví dụ, chúng tôi đã sử dụng thứ tự giảm dần cho salary cột).

Trong ví dụ của chúng tôi, đầu tiên chúng tôi sắp xếp kết quả theo mức lương theo thứ tự giảm dần (mức lương cao hơn đến mức thấp hơn) và sau đó theo họ theo thứ tự tăng dần trong các bản ghi đã được sắp xếp đó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng JShell trong Java 9 trong NetBeans 9.0, Phần 2

  2. INTERSECT SQL

  3. Hướng dẫn cơ bản của bạn về tham gia SQL:OUTER JOIN - Phần 2

  4. Salesforce SOQL từ Crystal Reports

  5. Sắp xếp thứ tự các lần xóa từ các chỉ mục Columnstore được phân nhóm