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

จำกัด จำนวนผลลัพธ์ทั้งหมดในตารางใน MySQL หรือไม่


สำหรับสิ่งนี้ คุณสามารถใช้ UNION ALL ร่วมกับแนวคิด LIMIT ได้ สำหรับตัวอย่างของเรา เราจะสร้างสามตาราง

ให้เราสร้างตารางแรก -

mysql> สร้างตาราง demo3−> (−> ค่า int−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.39 วินาที)

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

mysql> แทรกลงในค่า demo3 (10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า demo3 (20); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า demo3 ( 30);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.08 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+-------+| ค่า |+-------+| 10 || 20 || 30 |+-------+3 แถวในชุด (0.00 วินาที)

แบบสอบถามเพื่อสร้างตารางที่สองมีดังนี้ −

mysql> สร้างตาราง demo4−> (−> value1 int−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (2.10 วินาที)

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

mysql> แทรกลงในค่า demo4 (40); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า demo4 (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า demo4 ( 60);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+---------+| value1 |+---------+| 40 || 10 || 60 |+-------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อสร้างตารางที่สาม

mysql> สร้างตาราง demo5−> (−> value2 int−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (2.13 วินาที)

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

mysql> แทรกลงในค่า demo5 (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า demo5 (60) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า demo5 ( 50);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+---------+| value2 |+---------+| 100 || 60 || 50 |+-------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อจำกัดจำนวนผลลัพธ์ทั้งหมดในตาราง -

mysql> select tbl.*−> from ((select * from demo3 ORDER BY value DESC LIMIT 2−> ) UNION ALL−> (เลือก * จาก demo4 ORDER BY value1 DESC LIMIT 2−> ) UNION ALL−> ( เลือก * จาก demo5 ORDER BY value2 DESC LIMIT 2−> )−> ) tbl−>−> LIMIT 2;

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

<ก่อนหน้า>+-------+| ค่า |+-------+| 30 || 20 |+-------+2 แถวในชุด (0.00 วินาที)