Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sắp xếp theo độ dài ký tự trong MySQL

Để sắp xếp chuỗi theo độ dài (số ký tự), dùng ORDER BY LENGTH(column).

Ví dụ minh họa

Tạo bảng và chèn chuỗi độ dài khác nhau:

CREATE TABLE orderingAADemo (Value VARCHAR(100));

INSERT INTO orderingAADemo VALUES ('A'), ('B'), ('AA'), ('C'), ('CCC');

Dữ liệu:

+-------+
| Value |
+-------+
| A     |
| B     |
| AA    |
| C     |
| CCC   |
+-------+

Sắp xếp giảm dần theo độ dài, tie-break theo giá trị chuỗi:

SELECT * FROM orderingAADemo
ORDER BY LENGTH(Value) DESC, Value;

Kết quả:

+-------+
| Value |
+-------+
| CCC   |
| AA    |
| A     |
| B     |
| C     |
+-------+

Giải thích:

  • LENGTH() trả về số byte (với charset latin1/utf8mb4 ký tự ASCII = 1 byte).
  • CHAR_LENGTH() trả về số ký tự (dùng cho multi-byte charset). Khuyên dùng CHAR_LENGTH() cho chính xác.
  • DESC sắp xếp dài nhất lên đầu. Bỏ DESC để ngắn nhất lên đầu.
  • , Value làm tie-break: cùng độ dài thì sắp xếp alphabet.