Khóa học
Hướng dẫn này giả định rằng bạn đã quen với những kiến thức cơ bản về SQL, bao gồm các truy vấn CRUD (Create, Read, Update và Delete). Nếu bạn muốn ôn lại những kiến thức nền tảng về SQL, các tài nguyên sau có thể hữu ích -
Trong quá trình phân tích dữ liệu bằng SQL, bạn sẽ cần sắp xếp kết quả theo giá trị của một hoặc nhiều cột trong bảng mà bạn đang phân tích. Trong SQL, việc này được thực hiện bằng từ khóa order by. Hướng dẫn này sẽ giới thiệu bạn với từ khóa order by thông qua các ví dụ thực tế trong PostgreSQL. Liên kết thứ hai ở trên cung cấp phần giới thiệu khá đầy đủ về PostgreSQL. Hãy xem qua nếu bạn chưa quen với PostgreSQL.
Trước tiên, hãy tạo một bảng tên là countries trong PostgreSQL. Bảng sẽ chứa các cột và kiểu dữ liệu sau -
- country_code (ký tự)
- country_name (ký tự)
- continent (ký tự)
- region (ký tự)
- independence_year (số nguyên)
- local_name (ký tự)
- gov_form (ký tự)
- capital (ký tự)
Hãy nhanh chóng tạo một bảng theo các đặc tả này. Truy vấn SQL sau sẽ thực hiện điều đó cho bạn -
CREATE TABLE countries(
country_code varchar(50) primary key,
country_name varchar(50),
continent varchar(50),
region varchar(50),
independence_year smallint,
local_name varchar(50),
gov_form varchar(50),
capital varchar(50)
);
Bạn sẽ cần một lượng bản ghi đủ lớn trong bảng countries để hiểu hết tiềm năng của từ khóa order by. Bạn có thể làm điều này bằng cách nhập một tệp .csv chứa bảng countries mà bạn vừa tạo.
Sau khi bạn nhập tệp .csv vào PostgreSQL, chỉ cần chạy một truy vấn select trên bảng countries, và bạn sẽ nhận được kết quả như sau -

Bây giờ bạn đã có một cơ sở dữ liệu sẵn sàng để thử nghiệm với từ khóa order by. Hãy bắt đầu với truy vấn sau, truy vấn này sẽ sắp xếp các quốc gia theo tên quốc gia. Tên quốc gia được lưu trong cột country_name.
select * from countries order by country_name;
Kết quả là -

Mặc định, order by sắp xếp các giá trị theo thứ tự tăng dần. Trong trường hợp này, order by đang sắp xếp tên quốc gia theo thứ tự bảng chữ cái.
Chúng ta cũng có thể sắp xếp theo thứ tự giảm dần bằng cách thêm từ khóa DESC -
select * from countries order by country_name desc;
Kết quả trả về như sau -

Bảng countries có một cột tên là independence_year. Hãy xem chi tiết các quốc gia giành độc lập trong khoảng từ 1850 đến 1900 và đồng thời sắp xếp chúng theo thứ tự chữ cái -
select * from countries where independence_year >= 1800 and independence_year <= 1900 order by country_name;
Kết quả sẽ trông như sau -

Bây giờ hãy sắp xếp chi tiết các quốc gia theo thủ đô của các quốc gia đó theo thứ tự giảm dần -
select * from countries order by capital desc;
Và bạn sẽ nhận được -

Hãy nhìn vào vài giá trị đầu tiên trong cột capital. Chúng là các giá trị null, và theo thứ tự chữ cái chúng xuất hiện ở gần cuối.
Bạn cũng có thể chỉ định các tên cột cụ thể kết hợp với order by.
select country_code, country_name, capital from countries order by capital;
Kết quả sẽ là - 
Đó là tất cả cho hướng dẫn này. Trong hướng dẫn này, bạn đã học cách sử dụng từ khóa order by trong SQL để sắp xếp giá trị cột. Nếu bạn muốn củng cố kiến thức SQL, bạn có thể xem khóa học DataCamp này - Joining Data in SQL.