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

แสดง ID ตามลำดับเฉพาะกับ MySQL IN()?


หากต้องการแสดง ID ตามลำดับเฉพาะ เช่น ลำดับที่คุณเลือก ให้ใช้วิธี FIELD()

ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ( 40); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (80); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (70); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที) mysql> แทรกลงในค่า DemoTable (60) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงบันทึกจากตารางโดยใช้คำสั่งเลือก -

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

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

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 100 || 10 || 40 || 80 || 70 || 60 |+--------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามที่จะใช้ IN() และ FIELD() เพื่อแสดงระเบียนตามลำดับที่คุณเลือก -

mysql> เลือก UserId จาก DemoTable โดยที่ UserId IN (60,100,10,80,40,70) เรียงลำดับตามฟิลด์ (UserId,60,100,10,80,40,70);

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

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 60 || 100 || 10 || 80 || 40 || 70 |+--------+6 แถวในชุด (0.03 วินาที)