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

รับจำนวนแถวทั้งหมดขณะใช้ LIMIT ใน MySQL หรือไม่


ในการรับจำนวนแถวทั้งหมดเมื่อใช้ LIMIT ให้ใช้ไวยากรณ์ต่อไปนี้ -

เลือก SQL_CALC_FOUND_ROWS * FROM yourTableName LIMIT 0,yourLastValue;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

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

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

mysql> แทรกลงในค่า RowsUsingLimit (10, 'Larry'); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า RowsUsingLimit (9, 'Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที )mysql> แทรกลงในค่า RowsUsingLimit (15, 'Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า RowsUsingLimit (20, 'Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า RowsUsingLimit (1,'Carol'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที) mysql> แทรกลงในค่า RowsUsingLimit (18,'David'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

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

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 10 | แลร์รี่ || 9 | ไมค์ || 15 | แซม || 20 | บ๊อบ || 1 | แครอล || 18 | David |+----+-------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรับจำนวนแถวทั้งหมดในขณะที่ใช้ขีดจำกัด -

mysql> เลือก SQL_CALC_FOUND_ROWS * จาก RowsUsingLimit LIMIT 0,6;

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

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 10 | แลร์รี่ || 9 | ไมค์ || 15 | แซม || 20 | บ๊อบ || 1 | แครอล || 18 | David |+----+-------+6 แถวในชุด (0.00 วินาที)