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

จะ ORDER BY FIELD ด้วย GROUP BY ในการสืบค้น MySQL เดียวได้อย่างไร


สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (ข้อความ) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.15 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('ดี'); Query OK, 1 แถวได้รับผลกระทบ (0.43 วินาที)mysql> แทรกลงในค่า DemoTable ('Bye'); Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรก ลงในค่า DemoTable ('ยอดเยี่ยม'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable ('บาย'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable ('ดี ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที)mysql> แทรกลงในค่า DemoTable ('น่าทึ่ง'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('ยอดเยี่ยม'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable ('บาย'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

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

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

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

<ก่อนหน้า>+---------+| ข้อความ |+---------+| ดี || ลาก่อน || สุดยอด || ลาก่อน || ดี || น่าทึ่ง || สุดยอด || บาย |+---------+8 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อ ORDER BY FIELD กับ GROUP BY ในแบบสอบถาม MySQL เดียว -

mysql> เลือก *จากกลุ่ม DemoTable โดยเรียงลำดับข้อความตามฟิลด์ (ข้อความ, 'น่าอัศจรรย์', 'ยอดเยี่ยม', 'ดี', 'ลาก่อน');

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

<ก่อนหน้า>+---------+| ข้อความ |+---------+| น่าทึ่ง || สุดยอด || ดี || บาย |+---------+4 แถวในชุด (0.04 วินาที)