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

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


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

mysql> สร้างตาราง DemoTable ( Marks int); Query OK, 0 แถวได้รับผลกระทบ (1.34 วินาที)

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

mysql> แทรกลงในค่า DemoTable (78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable (88); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable ( 67); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (76); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable (98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า DemoTable (86); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable (89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ( 99);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

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

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

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

<ก่อนหน้า>+-------+| เครื่องหมาย |+-------+| 78 || 88 || 67 || 76 || 98 || 86 || 89 || 99 |+-------+8 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อให้ได้เครื่องหมายที่ใหญ่เป็นอันดับสองจากตาราง MySQL -

mysql> เลือกเครื่องหมายจาก DemoTablewhere Marks=(select MAX(Marks) จาก DemoTable โดยที่ Marks <(เลือก MAX(Marks) จาก DemoTable));

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

<ก่อนหน้า>+-------+| เครื่องหมาย |+-------+| 98 |+-------+1 แถวในชุด (0.03 วินาที)