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

รับชุดระเบียนที่ส่งคืนในข้อ MySQL IN หรือไม่


สำหรับลำดับชุดระเบียนที่ส่งคืน คุณต้องใช้ฟังก์ชัน FIND_IN_SET()

ตัวอย่างเช่น ให้เราสร้างตาราง

mysql> สร้างตาราง returnRecordSetOrderDemo -> ( -> Id int, -> Name varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (1.01 วินาที)

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

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า returnRecordSetOrderDemo (100, 'John'); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า returnRecordSetOrderDemo (130, 'Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที )mysql> แทรกลงในค่า returnRecordSetOrderDemo (103, 'Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า returnRecordSetOrderDemo (134, 'Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.27 วินาที) mysql> แทรกลงในค่า returnRecordSetOrderDemo (102, 'Larry'); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า returnRecordSetOrderDemo (145,'David'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)

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

แบบสอบถามมีดังนี้

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

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

<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 100 | จอห์น || 130 | แครอล || 103 | บ๊อบ || 134 | แซม || 102 | แลร์รี่ || 145 | David |+------+-------+6 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นสำหรับคำสั่ง 'IN' ของ MySQL และลำดับชุดระเบียนที่ส่งคืน

mysql> เลือก *จาก returnRecordSetOrderDemo-> โดยที่ Id ใน (100,145,103,130)-> สั่งซื้อโดย FIND_IN_SET(Id,'100,145,103,130');

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

<ก่อนหน้า>+------+-------| รหัส | ชื่อ |+------+-------+| 100 | จอห์น || 145 | เดวิด || 103 | บ๊อบ || 130 | Carol |+------+-------+4 แถวในชุด (0.00 วินาที)