Sắp xếp theo ORDER BY
được thực hiện bởi cột đầu tiên, và sau đó bởi từng cột bổ sung trong câu lệnh đã chỉ định.
Ví dụ:hãy xem xét dữ liệu sau:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Truy vấn
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
trước tiên sẽ sắp xếp theo tất cả các giá trị trong Column1
và sau đó sắp xếp các cột theo Column2
để tạo ra cái này:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
Nói cách khác, dữ liệu được sắp xếp đầu tiên trong Column1
thứ tự, rồi đến từng tập hợp con (Column1
các hàng có 1
như giá trị của chúng) được sắp xếp theo thứ tự của cột thứ hai.
Sự khác biệt giữa hai câu mà bạn đã đăng là các hàng trong câu đầu tiên sẽ được sắp xếp theo prod_price
trước tiên (thứ tự giá, từ thấp nhất đến cao nhất), sau đó theo thứ tự tên (nghĩa là nếu hai mặt hàng có cùng giá thì mặt hàng có giá trị alpha thấp hơn cho tên sẽ được liệt kê đầu tiên), trong khi mặt hàng thứ hai sẽ sắp xếp theo thứ tự tên chỉ (nghĩa là giá sẽ xuất hiện theo thứ tự dựa trên prod_name
không quan tâm đến giá cả).