Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จัดเรียงตามจำนวนตัวอักษรใน MySQL

ใช้ ORDER BY LENGTH(column) DESC เพื่อจัดเรียงตามความยาวสตริง (จำนวนไบต์)

ไวยากรณ์

SELECT * FROM yourTableName ORDER BY LENGTH(yourColumnName) DESC;

ตัวอย่างการใช้งาน

1. สร้างตารางและข้อมูล

mysql> create table DemoTable (Name varchar(100));
mysql> insert into DemoTable values('John'), ('Robert'), ('Bob'), ('David');

2. จัดเรียงตามความยาวมากไปน้อย

mysql> select * from DemoTable order by LENGTH(Name) DESC;

ผลลัพธ์

+--------+
| Name   |
+--------+
| Robert |
| David  |
| John   |
| Bob    |
+--------+

ฟังก์ชันความยาวสตริงใน MySQL

ฟังก์ชันคืนค่าหมายเหตุ
LENGTH()จำนวน ไบต์UTF-8 ตัวไทย = 3 ไบต์
CHAR_LENGTH()จำนวน ตัวอักษรแนะนำสำหรับข้อความหลายภาษา
CHARACTER_LENGTH()เหมือน CHAR_LENGTH()Synonym

ตัวอย่าง: จัดเรียงตามจำนวนตัวอักษร (ไม่ใช่ไบต์)

SELECT * FROM DemoTable ORDER BY CHAR_LENGTH(Name) DESC;