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

จะเลือกระเบียนแถวแรกและแถวสุดท้ายโดยใช้ LIMIT ใน MySQL ได้อย่างไร


ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง FirstAndLastDataDemo -> ( -> EmployeeId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> EmployeeName varchar(20), -> EmployeeAge int -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงใน FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('John',23);Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงใน FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Bob',13);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงใน FirstAndLastDataDemo (EmployeeName,EmployeeAge) ค่า ('Larry',24); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงใน FirstAndLastDataDemo (EmployeeName,EmployeeAge) values('Sam',14);Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน FirstAndLastDataDemo(EmployeeName,EmployeeAge) values('Mike',31);Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงใน FirstAndLastDataDemo(EmployeeName,EmployeeAge)values('James',18);Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน FirstAndLastDataDemo(EmployeeName,EmployeeAge)values('Maxwell',28);Query OK, 1 แถวที่ได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน FirstAndLastDataDemo (EmployeeName,EmployeeAge) ค่า ('David',27); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงใน FirstAndLastDataDemo (E mployeeName,EmployeeAge) values('Chris',22);ตกลง, 1 แถวได้รับผลกระทบ (0.19 วินาที)

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

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

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

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| 1 | จอห์น | 23 || 2 | บ๊อบ | 13 || 3 | แลร์รี่ | 24 || 4 | แซม | 14 || 5 | ไมค์ | 31 || 6 | เจมส์ | 18 || 7 | แม็กซ์เวลล์ | 28 || 8 | เดวิด | 27 || 9 | คริส | 22 |+------------+--------------+-------------+9 แถวในชุด ( 0.00 วินาที)

ในการรับระเบียนแถวแรกและแถวสุดท้ายโดยใช้ LIMIT ให้ดำเนินการดังนี้

mysql> (SELECT *จาก FirstAndLastDataDemo LIMIT 1) -> UNION -> (SELECT *จาก FirstAndLastDataDemo LIMIT 8,1);

ต่อไปนี้เป็นผลลัพธ์ที่แสดงระเบียนแถวแรกและแถวสุดท้าย

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| 1 | จอห์น | 23 || 9 | คริส | 22 |+------------+--------------+-------------+2 แถวในชุด ( 0.00 วินาที)