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

วิธีเรียงลำดับสตริงตามความยาวตัวอักษรใน MySQL

การใช้ฟังก์ชัน CHAR_LENGTH() สำหรับการเรียงลำดับ

ใน MySQL คุณสามารถเรียงลำดับข้อมูลตามความยาวของสตริงได้โดยใช้ฟังก์ชัน CHAR_LENGTH() ซึ่งจะคืนค่าจำนวนตัวอักษร (ไม่ใช่จำนวนไบต์) รูปแบบคำสั่งคือ:

SELECT * FROM your_table_name 
ORDER BY CHAR_LENGTH(your_column_name);

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

1. สร้างตารางหนังสือ

CREATE TABLE OrderByCharacterLength (
    BookName VARCHAR(200)
);

2. เพิ่มข้อมูลหนังสือตัวอย่าง

INSERT INTO OrderByCharacterLength VALUES 
('Let us C'),
('Introduction to C'),
('Data Structure And Algorithm in Java'),
('C in Depth'),
('Java Projects');

3. เรียงลำดับตามความยาวตัวอักษร

SELECT * FROM OrderByCharacterLength 
ORDER BY CHAR_LENGTH(BookName);

ผลลัพธ์การเรียงลำดับ

BookNameความยาว
Let us C8 ตัวอักษร
C in Depth10 ตัวอักษร
Java Projects13 ตัวอักษร
Introduction to C17 ตัวอักษร
Data Structure And Algorithm in Java36 ตัวอักษร

คำแนะนำเพิ่มเติม

  • ใช้ ORDER BY CHAR_LENGTH(column) DESC สำหรับเรียงจากมากไปน้อย
  • CHAR_LENGTH() นับตัวอักษร ส่วน LENGTH() นับไบต์ (ต่างกันใน UTF-8)
  • สามารถรวมกับเงื่อนไข WHERE ได้ตามปกติ
  • ใช้ได้กับชนิดข้อมูล VARCHAR, TEXT, CHAR และอื่นๆ