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

Cách sắp xếp trong SQL

Vấn đề:

Bạn muốn sắp xếp kết quả của một truy vấn SQL theo thứ tự tăng dần hoặc giảm dần.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng có tên salary_information với dữ liệu trong các cột id , first_name , last_namemonthly_earnings . Chúng tôi muốn sắp xếp nhân viên theo monthly_earnings của họ theo thứ tự giảm dần.

id first_name last_name month_earnings
1 Calvin Rios 3500
2 Alan Paterson 4000
3 Kurt Evans 2300
4 Alex Watkins 5500

Giải pháp:

Chúng tôi sẽ sử dụng ORDER BY mệnh đề. Đây là truy vấn:

Chúng tôi sẽ sử dụng hàm CURRENT_DATE để lấy ngày hiện tại:

	SELECT
		first_name,
		last_name,
		monthly_earnings
	FROM salary_information
	ORDER BY monthly_earnings DESC

Đây là kết quả của truy vấn:

first_name last_name month_earnings
Alex Watkins 5500
Alan Paterson 4000
Calvin Rios 3500
Kurt Evans 2300

Bây giờ, chúng ta có thể thấy Alex Watkins đứng đầu danh sách, điều đó có nghĩa là anh ấy kiếm được nhiều tiền nhất.

Thảo luận:

Sử dụng ORDER BY nếu bạn muốn sắp xếp tập dữ liệu theo thứ tự tăng dần hoặc giảm dần. Cú pháp cho ORDER BY mệnh đề như sau:

SELECT col1, col2, …
FROM table
ORDER BY col1, col2, … ASC|DESC;

Trong phần trên, ASC|DESC có nghĩa là bạn nên chọn từ khóa ASC (tăng dần) hoặc DESC (giảm dần) để sắp xếp tập dữ liệu theo cách bạn muốn.

Bên cạnh việc sắp xếp theo cột số, bạn cũng có thể sắp xếp theo cột văn bản. ORDER BY mệnh đề sẽ sắp xếp các cột văn bản theo thứ tự bảng chữ cái.

Thay vì tên cột, bạn cũng có thể sử dụng vị trí của cột đếm từ bên trái. Vì vậy, trong ví dụ của chúng tôi, thay vì viết:

ORDER BY monthly_earnings DESC

bạn cũng có thể viết:

ORDER BY 3 DESC

Nếu bạn muốn sắp xếp bảng từ ví dụ theo first_name theo thứ tự bảng chữ cái (tăng dần), bạn có thể sử dụng truy vấn sau:

SELECT
	first_name,
	last_name,
	monthly_earnings
FROM salary_information
ORDER BY first_name ASC

Cũng cần lưu ý rằng bạn có thể sắp xếp theo nhiều cột. Điều này rất hữu ích khi một số giá trị trong một cột nhất định được lặp lại và bạn cần sắp xếp bổ sung. Trong trường hợp này, hãy tách các tên cột bằng dấu phẩy trong mệnh đề ORDER BY.

Bạn thậm chí có thể sắp xếp theo thứ tự tăng dần của một cột và theo thứ tự giảm dần của cột khác. Sau đây minh họa cú pháp của sự kết hợp này:

	ORDER BY Col1 ASC, Col2 DESC;
	

Nếu bạn bỏ qua ASC hoặc DESC từ khóa, sắp xếp tăng dần được thực hiện theo mặc định.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Địa chỉ OGG-01224 đã được sử dụng

  2. Xử lý rò rỉ tài nguyên GDI

  3. Một cách để có được chỉ mục là tìm kiếm ký tự đại diện% đứng đầu

  4. So sánh các đối tượng theo giá trị. Phần 6:Thực hiện Bình đẳng trong Cơ cấu

  5. Tham số Sniffing Primer