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

เลือกแถวถัดไปหลังจากข้ามทุกๆ 2 แถวใน MySQL


หากต้องการข้ามแถว คุณสามารถใช้ OFFSET ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable617(Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY,FirstName varchar(100)); ตกลง, 0 แถวได้รับผลกระทบ (1.70 วินาที)

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

mysql> แทรกลงในค่า DemoTable617(FirstName) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.39 วินาที)mysql> แทรกลงในค่า DemoTable617(FirstName) ('Sam');Query OK, 1 แถวได้รับผลกระทบ ( 0.39 วินาที) mysql> แทรกลงในค่า DemoTable617 (ชื่อแรก) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า DemoTable617 (ชื่อแรก) ('ไมค์'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.34 วินาที) mysql> แทรกลงในค่า DemoTable617 (FirstName) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable617 (FirstName) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.19 วินาที) mysql> แทรกลงในค่า DemoTable617 (FirstName) ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable617 (FirstName) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.27 วินาที) mysql> แทรกลงในค่า DemoTable617 (FirstName) ('Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable617 (FirstName) ('Adam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.49 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------+| รหัส | ชื่อจริง |+----+-----------+| 1 | จอห์น || 2 | แซม || 3 | แครอล || 4 | ไมค์ || 5 | เดวิด || 6 | บ๊อบ || 7 | โรเบิร์ต || 8 | คริส || 9 | ไมค์ || 10| อดัม |+----+-----------+10 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกแถว ในการสั่งซื้อครั้งแรกโดย DESC หลังจากนั้นจะข้ามสองแถวและแสดง 5 แถวโดยใช้ LIMIT 5 -

mysql> เลือก tbl.* จาก (เลือก *จาก DemoTable617 ตามลำดับโดย FirstName DESC LIMIT 5 OFFSET 2) AS tbl ORDER BY tbl.Id;

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

<ก่อนหน้า>+----+-----------+| รหัส | ชื่อจริง |+----+-----------+| 1 | จอห์น || 4 | ไมค์ || 5 | เดวิด || 8 | คริส || 9 | Mike |+----+-----------+5 แถวในชุด (0.00 วินาที)