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

MySQL thứ tự theo chuỗi với số?

Đối với chuỗi đơn hàng MySQL với các số, sau đây là cú pháp, trong đó chúng tôi đã sử dụng ORDER BY, SUBSTR () và CAST () -

 CHỌN * TỪ ĐƠN ĐẶT HÀNG CỦA BẠNTableName BYSUBSTR (Tên máy tính của bạn TỪ 1 CHO 2), CAST (SUBSTR (Tên máy tính của bạn TỪ 2) NHƯ CHƯA ĐƯỢC ĐĂNG KÝ); 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

 mysql> tạo bảng OrderByStringWithNumbers -> (-> Id int NOT NULL AUTO_INCREMENT, -> Words varchar (10), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,86 giây)  

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

 mysql> chèn vào giá trị OrderByStringWithNumbers (Words) ('A10'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A30'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,19 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A12'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A11'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,17 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A28'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A21'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,20 giây) 

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

 mysql> select * từ OrderByStringWithNumbers; 

Sau đây là kết quả -

 + ---- + ------- + | Id | Từ | + ---- + ------- + | 1 | A10 || 2 | A30 || 3 | A12 || 4 | A11 || 5 | A28 || 6 | A21 | + ---- + ------- + 6 hàng trong bộ (0,00 giây) 

Đây là truy vấn sắp xếp theo chuỗi với số -

 mysql> select * từ OrderByStringWithNumbers thứ tự theo -> substr (Từ 1 cho 2), -> ép kiểu (substr (Từ 2) NHƯ CHƯA ĐƯỢC KÝ); 

Sau đây là kết quả -

 + ---- + ------- + | Id | Từ | + ---- + ------- + | 1 | A10 || 4 | A11 || 3 | A12 || 6 | A21 || 5 | A28 || 2 | A30 | + ---- + ------- + 6 hàng trong bộ (0,00 giây)