Nội dung chính
Trong các bài viết trước, chúng ta đã biết cách sử dụng SELECT để truy vấn dữ liệu, sử dụng từ khoá WHERE để đưa ra điều kiện lọc dữ liệu và sử dụng từ khoá LIKE để mở rộng khả năng lọc dữ liệu khi kết hợp với WHERE
. Có thể thấy rằng, dữ liệu được trả về không được sắp xếp theo một trình tự nào cả, trong bay này, chúng ta sẽ đi sắp xếp dữ liệu bằng cách sử dụng từ khoá Order By
.
Download excel file kèm theo video
Xem nhanh
Đầu tiên đây là bảng dữ liệu của chúng ta:
Đây là bảng dữ liệu được kết nối trực tiếp từ Excel Online, bạn cần sử dụng một trình duyệt Web hiện đại (Google Chrome, Firefox, Safari) để có thể xem được bảng Excel này trực tiếp. Tài liệu Excel này có thể được download tại đây
Trước khi đi vào các ví dụ, nói đến sắp xếp, người ta hiểu gồm có 2 cách sắp xếp cơ bản đó là sắp xếp theo thứ tự tăng dần và sắp xếp theo thứ tự giảm dần. Với mỗi loại dữ liệu thì việc sắp xếp này có ý nghĩa khác nhau. Chúng ta thường gặp 2 kiểu dữ liệu chính là kiểu dữ liệu chuỗi (chữ cái, tên địa danh, tên người, tên mặt hàng, …) và dữ liệu có dạng số (ngày tháng, số tiền, số lượng, …)
Dữ liệu dạng số
: đối với kiểu dữ liệu này, sắp xếp tăng dần nghĩa là sắp xếp giá trị của dữ liệu tăng dần, từ số có giá trị nhỏ nhất đến số có giá trị lớn nhất. Sắp xếp giảm dần nghĩa là sắp xếp từ số có giá trị lớn nhất cho đến số có giá trị nhỏ nhất.Dữ liệu dạng chuỗi kí tự
: đối với kiểu dữ liệu này, sắp xếp tăng dần nghĩa là sắp xếp các từ theo thứ tự từ A đến Z, hay nói cách khác là sắp xếp các từ theo thứ tự sắp xếp trong từ điển. Sắp xếp giảm dần đối với dữ liệu dạng chuỗi kí tự
nghĩa là sắp xếp từ Z tới A.http://www.hocexcel.online/vba101-landing.html
Cú pháp của Order By khi sử dụng chung với SELECT
và WHERE
như sau (Không nhất thiết phải sử dụng WHERE
, nhưng ở đây để minh hoạ thứ tự của các từ khoá, nên WHERE
được cho vào)
Giải thích:
[]
là không bắt buộc, có thể có hoặc không có.[ORDER BY cột_1, cột2, ..., cột_N]
, việc sắp xếp có thể được thực hiện theo 1 cột, 2 cột, hoặc nhiều cột tuỳ thuộc vào nhu cầu[ASC | DESC]
nghĩa là chúng ta có thể viết 1 trong 2 giá trị ASC
nghĩa là sắp xếp theo chiều thuận, từ nhỏ đến lớn, từ A tới Z; ngược lại đối với DESC
. Mặc định, nếu không có 2 từ này, thì việc sắp xếp được thực hiện theo chiều thuận.Các ví dụ sau đây được thực hiện trong file excel này (Hướng dẫn sử dụng file excel ở video phía trên)
Hanoi
theo doanh số giảm dầnNếu sếp bạn cần một báo cáo doanh số các mặt hàng bán ở Hanoi
thì đây chính là câu lệnh sẽ tạo ra báo cáo đó cho bạn.
Hanoi
sắp xếp tên nhân viên bán hàng từ A tới ZTheo mặc định, khi chúng ta không viết chiều sắp xếp vào câu lệnh thì SQL
, dữ liệu trả về sẽ được sắp xếp theo chiều thuận (giá trị tăng dần với số, từ A đến Z với chữ).
Hanoi
sắp xếp tên mặt hàng từ Z đến A, sắp xếp tên nhân viên theo thứ tự A đến ZCâu SQL
trên sẽ sắp xếp mọi kết quả theo tên mặt hàng Item
từ Z đến A; nếu có 1 hay nhiều mặt hàng có tên giống nhau, cột tên nhân viên sẽ được sắp xếp theo thứ tự từ A đến Z.
Tham khảo thêm Stackoverflow – sql multiple column ordering
Qua bài này, chúng ta lại một bước nữa tiến gần hơn đến việc làm chủ một công cụ mới – SQL
để có thể sử dụng trong công việc của chúng ta. Cảm ơn các bạn đã đọc đến đây & hẹn gặp lại lần sau.
http://www.hocexcel.online/vba101-landing.html