ในการเลือก 20 ระเบียนสุดท้ายในลำดับจากน้อยไปมาก คุณสามารถใช้คำสั่งย่อย LIMIT ของแบบสอบถามย่อย ไวยากรณ์มีดังนี้
SELECT *FROM( เลือก *FROM yourTableName ORDER BY yourColumnName desc limit 20)anyVariableName order by anyVariableName.yourColumnName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง ProductInformation -> ( -> ProductId int, -> ProductName varchar(100), -> ProductPrice int -> );Query OK, 0 แถวได้รับผลกระทบ (0.50 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า ProductInformation (101,'Product-1',200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า ProductInformation (102,'Product-2',300); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.23 วินาที)mysql> แทรกลงในค่า ProductInformation (103,'Product-3',700) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)mysql> แทรกลงในค่า ProductInformation (104,'Product-4 ',100);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า ProductInformation (105,'Product-5',1500); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า ProductInformation ( 106,'Product-6',1200);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)mysql> แทรกลงในค่า ProductInformation (107,'Product-7',1300) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)mysql> แทรกลงในค่า ProductInformation (108,'Product-8',1600);Query OK, 1 แถวได้รับผลกระทบ (0.29 วินาที)mysql> แทรกลงใน ProductInformation values(109,'Product-9',1250);Query OK, 1 row ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า ProductInformation (110,'Product-10',1900); Query OK, 1 r ow ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า ProductInformation (111,'Product-11',1870); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า ProductInformation (112, 'Product-12', 1876 );แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า ProductInformation (113,'Product-13',1869); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า ProductInformation (114,' Product-14',1456);ตกลง, 1 แถวได้รับผลกระทบ (0.25 วินาที)mysql> แทรกลงในค่า ProductInformation (115,'Product-15',1860);Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกเข้าไป ค่า ProductInformation (116,'Product-16',359);Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า ProductInformation (117,'Product-17',1667);Query OK, 1 แถวได้รับผลกระทบ (0.09) วินาที) mysql> แทรกลงในค่า ProductInformation (118,'Product-18',1467); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า ProductInformation (119,'Product-19',2134); แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า ProductInformation (120,'Pr oduct-20',3450); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า ProductInformation (121,'Product-21',198); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกเข้าไป ค่า ProductInformation (122,'Product-22',195);Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า ProductInformation (123,'Product-23',10000);Query OK, 1 แถวได้รับผลกระทบ (0.15) วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก ProductInformation;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+-------------+--------------+| ProductId | ชื่อสินค้า | ราคาสินค้า |+-----------+-------------+-------------+| 101 | สินค้า-1 | 200 || 102 | สินค้า-2 | 300 || 103 | สินค้า-3 | 700 || 104 | สินค้า-4 | 100 || 105 | สินค้า-5 | 1500 || 106 | สินค้า-6 | 1200 || 107 | สินค้า-7 | 1300 || 108 | สินค้า-8 | 1600 || 109 | สินค้า-9 | 1250 || 110 | สินค้า-10 | 1900 || 111 | สินค้า-11 | 1870 || 112 | สินค้า-12 | 2419 || 113 | สินค้า-13 | 1869 || 114 | สินค้า-14 | 1456 || 115 | สินค้า-15 | 1860 || 116 | สินค้า-16 | 359 || 117 | สินค้า-17 | 1667 || 118 | สินค้า-18 | 1467 || 119 | สินค้า-19 | 2134 || 120 | สินค้า-20 | 3450 || 121 | สินค้า-21 | 198 || 122 | สินค้า-22 | 195 || 123 | สินค้า-23 | 10000 |+-----------+-------------+--------------+23 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อเลือก 20 ระเบียนสุดท้ายจากตารางจากน้อยไปหามาก
mysql> เลือก *จาก -> ( -> เลือก *จาก ProductInformation เพื่อเรียงลำดับตาม ProductId desc จำกัด 20 -> ) t1 สั่งซื้อโดย t1.ProductId asc;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+-------------+--------------+| ProductId | ชื่อสินค้า | ราคาสินค้า |+-----------+-------------+-------------+| 104 | สินค้า-4 | 100 || 105 | สินค้า-5 | 1500 || 106 | สินค้า-6 | 1200 || 107 | สินค้า-7 | 1300 || 108 | สินค้า-8 | 1600 || 109 | สินค้า-9 | 1250 || 110 | สินค้า-10 | 1900 || 111 | สินค้า-11 | 1870 || 112 | สินค้า-12 | 2419 || 113 | สินค้า-13 | 1869 || 114 | สินค้า-14 | 1456 || 115 | สินค้า-15 | 1860 || 116 | สินค้า-16 | 359 || 117 | สินค้า-17 | 1667 || 118 | สินค้า-18 | 1467 || 119 | สินค้า-19 | 2134 || 120 | สินค้า-20 | 3450 || 121 | สินค้า-21 | 198 || 122 | สินค้า-22 | 195 || 123 | สินค้า-23 | 10000 |+-----------+-------------+--------------+20 แถวในชุด (0.00 วินาที)หากคุณต้องการบันทึกในลำดับจากมากไปน้อย ให้ใช้ desc แบบสอบถามมีดังต่อไปนี้เพื่อให้ได้ผลลัพธ์ในลำดับจากมากไปน้อย
mysql> เลือก *จาก -> ( -> เลือก *จาก ProductInformation เพื่อเรียงลำดับตาม ProductId desc จำกัด 20 -> ) t2 สั่งซื้อโดย t2.ProductId desc;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+-------------+--------------+| ProductId | ชื่อสินค้า | ราคาสินค้า |+-----------+-------------+-------------+| 123 | สินค้า-23 | 10000 || 122 | สินค้า-22 | 195 || 121 | สินค้า-21 | 198 || 120 | สินค้า-20 | 3450 || 119 | สินค้า-19 | 2134 || 118 | สินค้า-18 | 1467 || 117 | สินค้า-17 | 1667 || 116 | สินค้า-16 | 359 || 115 | สินค้า-15 | 1860 || 114 | สินค้า-14 | 1456 || 113 | สินค้า-13 | 1869 || 112 | สินค้า-12 | 2419 || 111 | สินค้า-11 | 1870 || 110 | สินค้า-10 | 1900 || 109 | สินค้า-9 | 1250 || 108 | สินค้า-8 | 1600 || 107 | สินค้า-7 | 1300 || 106 | สินค้า-6 | 1200 || 105 | สินค้า-5 | 1500 || 104 | สินค้า-4 | 100 |+-----------+--------------------+--------------+20 แถวในชุด (0.00 วินาที)