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

สั่งซื้อ MySQL โดยสตริงเฉพาะ?


เรียงลำดับตามการเลือกสตริงที่คุณต้องการโดยใช้ฟังก์ชัน FIELD() ไวยากรณ์มีดังนี้ −

เลือก *จาก yourTableNameORDER BY FIELD(yourColumnName,'yourValue1', 'yourValue2','yourValue3',....N);

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง OrderByListOfStrings -> ( -> Id int ไม่ใช่ null auto_increment, -> CarName varchar(20), -> คีย์หลัก (Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที) 

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังต่อไปนี้ −

mysql> แทรกลงในค่า OrderByListOfStrings(CarName) ('Ford'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า OrderByListOfStrings (CarName) ('Audi'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.17 วินาที) mysql> แทรกลงในค่า OrderByListOfStrings (CarName) ('Honda'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า OrderByListOfStrings (CarName) ('Aston Martin'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.53 วินาที)mysql> แทรกลงในค่า OrderByListOfStrings (CarName) ('Bugatti'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า OrderByListOfStrings (CarName) ('BMW'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังต่อไปนี้ −

mysql> เลือก *จาก OrderByListOfStrings;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+--------------+| รหัส | ชื่อรถ |+----+-------------+| 1 | ฟอร์ด || 2 | ออดี้ || 3 | ฮอนด้า || 4 | แอสตัน มาร์ติน || 5 | บูกัตติ || 6 | BMW |+----+--------------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรับการสั่งซื้อโดยการเลือกสตริง เรียงลำดับตามที่คุณต้องการ -

mysql> เลือก *จาก OrderByListOfStrings -> เรียงลำดับตามฟิลด์ (CarName,'Bugatti','BMW','Audi','Aston Martin','Ford','Honda');

ต่อไปนี้เป็นผลลัพธ์ที่จัดเรียงสตริงที่ตั้งค่าใหม่ด้วยเมธอด field() -

<ก่อนหน้า>+----+--------------+| รหัส | ชื่อรถ |+----+-------------+| 5 | บูกัตติ || 6 | บีเอ็มดับเบิลยู || 2 | ออดี้ || 4 | แอสตัน มาร์ติน || 1 | ฟอร์ด || 3 | Honda |+----+--------------+6 แถวในชุด (0.00 วินาที)