Computer >> Máy Tính >  >> Lập trình >> MySQL

Triển khai ORDER BY trong MySQL để sắp xếp các bản ghi ở định dạng con người có thể đọc được?


Đối với điều này, hãy sử dụng INET_ATON () trong MySQL. Giả sử hồ sơ của chúng tôi ở dạng Địa chỉ IP. Phương thức INET_ATON () sẽ cho phép người dùng chuyển đổi các bản ghi Địa chỉ IP thành số và sau đó chúng tôi có thể sử dụng ORDER BY để sắp xếp chúng.

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
   -> (
   -> IpAddress varchar(50)
   -> );
Query OK, 0 rows affected (1.36 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values('192.168.110.78');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('192.168.110.87');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values('192.168.110.75');
Query OK, 1 row affected (0.26 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+----------------+
| IpAdress       |
+----------------+
| 192.168.110.78 |
| 192.168.110.87 |
| 192.168.110.75 |
+----------------+
3 rows in set (0.00 sec)

Đây là truy vấn để sắp xếp theo bản ghi Địa chỉ IP -

mysql> select *from DemoTable
-> order by inet_aton(IpAddress);

Điều này sẽ tạo ra kết quả sau -

+----------------+
| IpAddress      |
+----------------+
| 192.168.110.75 |
| 192.168.110.78 |
| 192.168.110.87 |
+----------------+
3 rows in set (0.00 sec)