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

แยกแถวทั้งหมดออกจากแถวแรกและแถวสุดท้ายใน MySQL


หากต้องการแยกแถวทั้งหมดออกจากแถวแรกและแถวสุดท้าย ให้ใช้แบบสอบถามย่อยร่วมกับ MIN() และ MAX() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1917 ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentCode int, StudentMarks int ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1917(StudentCode,StudentMarks) (78,95); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1917 (StudentCode, StudentMarks) (78,96); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1917 (StudentCode, StudentMarks) (78,97) ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1917 (StudentCode, StudentMarks) (78,98);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1917 (StudentCode, StudentMarks) (78,99); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+--------------+| รหัสนักศึกษา | รหัสนักศึกษา | StudentMarks |+-----------+-------------+------------+| 1 | 78 | 95 || 2 | 78 | 96 || 3 | 78 | 97 || 4 | 78 | 98 || 5 | 78 | 99 |+-----------+-------------+--------------+5 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อแยกแถวทั้งหมดออกจากแถวแรกและแถวสุดท้าย:

mysql> เลือก * จาก DemoTable1917 โดยที่ StudentId ไม่อยู่ใน ( ( เลือก min(StudentId) จาก DemoTable1917 โดยที่ StudentCode=78), (เลือก max(StudentId) จาก DemoTable1917 โดยที่ StudentCode=78) ) และ StudentCode=78;

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

<ก่อนหน้า>+-----------+-------------+--------------+| รหัสนักศึกษา | รหัสนักศึกษา | StudentMarks |+-----------+-------------+------------+| 2 | 78 | 96 || 3 | 78 | 97 || 4 | 78 | 98 |+-----------+-------------+--------------+3 แถวในชุด (0.00 วินาที)