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

จัดเรียงผลการค้นหาตามตำแหน่งของสตริงย่อยใน MySQL


หากต้องการจัดเรียงผลการค้นหาตามตำแหน่งของสตริงย่อย ให้ใช้ ORDER BY LOCATE() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1838 ( Subject varchar(100) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1838 ('MongoDB MySQL'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1838 ('MySQL Java'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1838 ('JavaWithMySQL'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+| หัวเรื่อง |+---------------------+| MongoDB MySQL || MySQL Java || JavaWithMySQL |+--------------+3 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อจัดเรียงผลการค้นหาตามตำแหน่งของสตริงย่อย:

mysql> เลือก * จาก DemoTable1838 โดยที่ Subject LIKE '%MySQL%' เรียงลำดับตามตำแหน่ง ('MySQL', Subject);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+| หัวเรื่อง |+---------------------+| MySQL Java || MongoDB MySQL || JavaWithMySQL |+--------------+3 แถวในชุด (0.00 วินาที)