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

Sắp xếp trong MySQL bằng cách sử dụng thứ tự theo mệnh đề

Hướng dẫn này là một phần của loạt bài Tìm hiểu Truy vấn SQL Cơ bản Sử dụng MySQL. Trong hướng dẫn này, chúng ta sẽ thảo luận về các truy vấn SQL để thực hiện sắp xếp các hàng của bảng trong MySQL bằng cách sử dụng mệnh đề ORDER BY với các từ khóa ASC hoặc DESC để sắp xếp theo thứ tự tăng dần hoặc giảm dần.

Đặt hàng theo truy vấn

ĐẶT HÀNG Bởi mệnh đề có thể được sử dụng để thực hiện sắp xếp các hàng trong bảng theo thứ tự tăng dần hoặc giảm dần.

# ORDER BY - Syntax - Default Ascending
SELECT * FROM `table_name` ORDER BY `column_name`;

# ORDER BY - Syntax - Ascending
SELECT * FROM `table_name` ORDER BY `column_name` ASC;

# ORDER BY - Syntax - Descending
SELECT * FROM `table_name` ORDER BY `column_name` DESC;

Giải thích Truy vấn

ĐẶT HÀNG THEO mệnh đề có thể được sử dụng để sắp xếp các hàng bằng cách chỉ định cột được sử dụng để sắp xếp. Chúng tôi cũng có thể sử dụng mệnh đề ORDER BY với WHERE để thực hiện các thao tác lọc hoặc tìm kiếm với sắp xếp.

Chúng ta phải chỉ định ít nhất một cột bằng mệnh đề ORDER BY để sắp xếp các hàng. Chúng tôi cũng có thể chỉ định thứ tự sắp xếp các hàng theo thứ tự tăng dần hoặc giảm dần bằng cách sử dụng các từ khóa ASC hoặc DESC tương ứng.

Chúng ta cũng có thể áp dụng nhiều thao tác sắp xếp trong đó việc sắp xếp tiếp theo có thể được áp dụng theo sau các kết quả được trả về bởi các thao tác sắp xếp đến trước.

Ví dụ

Phần này cung cấp các ví dụ để thực hiện sắp xếp bằng mệnh đề ORDER BY có và không có mệnh đề WHERE. Sử dụng truy vấn được đề cập bên dưới để tạo bảng người dùng có id, tên, họ và các cột hoạt động để lưu trữ dữ liệu người dùng.

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

Truy vấn được đề cập bên dưới có thể được sử dụng để chèn dữ liệu vào bảng người dùng.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'John', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );

Truy vấn đề cập ở trên sẽ chèn 5 hàng trong bảng có id, tên, họ và các cột hiện hoạt để đại diện cho 5 người dùng khác nhau.

Bây giờ chúng ta sẽ sử dụng mệnh đề ORDER BY mà không có mệnh đề WHERE để sắp xếp các hàng bằng cách sử dụng cột tên hoặc họ của bảng người dùng. Nó có thể được thực hiện bằng cách sử dụng mệnh đề ORDER BY trong MySQL như được hiển thị bên dưới.

# ORDER BY - Ascending
SELECT * FROM `user` ORDER BY `first_name`;
SELECT * FROM `user` ORDER BY `first_name` ASC;

# Result
4 Harsh Upadhyay 1
1 John Smith 1
3 John Ponting 0
2 Rick Jones 1
5 Tajwinder Singh 0


# ORDER BY - Descending
SELECT * FROM `user` ORDER BY `first_name` DESC;

# Result
5 Tajwinder Singh 0
2 Rick Jones 1
1 John Smith 1
3 John Ponting 0
4 Harsh Upadhyay 1


# ORDER BY - Ascending - Multiple
SELECT * FROM `user` ORDER BY `first_name`, `last_name`;

# Result
4 Harsh Upadhyay 1
3 John Ponting 0
1 John Smith 1
2 Rick Jones 1
5 Tajwinder Singh 0

Các truy vấn được đề cập ở trên thực hiện sắp xếp theo thứ tự tăng dần và giảm dần bằng mệnh đề ORDER BY. Bây giờ chúng ta sẽ sắp xếp các hàng với mệnh đề WHERE như hình dưới đây.

# ORDER BY - Ascending - Filter active users
SELECT * FROM `user` WHERE `active` = 1 ORDER BY `first_name`;

# Result
4 Harsh Upadhyay 1
1 John Smith 1
2 Rick Jones 1


# ORDER BY - Descending - Filter active users
SELECT * FROM `user` WHERE `active` = 1 ORDER BY `first_name` DESC;

# Result
2 Rick Jones 1
1 John Smith 1
4 Harsh Upadhyay 1

Đây là cách chúng ta có thể sử dụng mệnh đề ORDER BY có và không có mệnh đề WHERE để sắp xếp các hàng của bảng cho các cột cụ thể.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chèn nhiều hàng từ mảng bằng cách sử dụng khuôn khổ CodeIgniter?

  2. Cách nhập cơ sở dữ liệu bằng phpMyAdmin

  3. Cách hiển thị dữ liệu Unicode với PHP

  4. Sắp xếp thứ tự theo giá trị trường cụ thể trước tiên

  5. PDO fetch:Nhóm tất cả các cặp khóa-giá trị vào mảng assoc