MySQL การจำกัดข้อมูลด้วย LIMIT Clause

LIMIT clause ใช้สำหรับจำกัดข้อมูลที่รีเทิร์นออกมาด้วยการกำหนดจำนวนแถวของข้อมูลที่ต้องการ ทำให้การดึงข้อมูลทำได้เร็วขึ้นเพราะไม่ต้องดึงข้อมูลออกมาทั้งหมด มีประโยชน์ในการดึงข้อมูลที่มีจำนวนมากออกมาแสดงผล เช่น ดึงข้อมูลออกมาเพียงครั้งละ 10 แถว เป็นต้น

รูปแบบการใช้งาน LIMIT clause

การใช้งาน LIMIT clause มีรูปแบบดังนี้

SELECT column1, column2, ...
FROM table_name
LIMIT number;
  • number = จำนวนแถวที่ต้องการดึงข้อมูล (หรืออัปเดต/ลบ) จากตาราง

ตัวอย่างการใช้งาน

ดึงข้อมูล 5 แถวแรกจากตาราง customer

SQL
SELECT first_name, last_name
FROM customer
LIMIT 5;
  • แสดงรายชื่อลูกค้า 5 คนแรกจากตาราง customer

ดึงข้อมูล 10 แถวแรกจากตาราง film โดยแสดงแค่ title และ release_year

SQL
SELECT title, release_year
FROM film
LIMIT 10;
  • แสดงรายการภาพยนตร์ 10 เรื่องแรกจากตาราง film

ใช้ LIMIT กับ OFFSET (เพื่อข้ามแถวบางแถว)

SQL
SELECT title, rating
FROM film
LIMIT 10 OFFSET 10;
  • ดึงรายชื่อภาพยนตร์ จำนวน 10 รายชื่อ โดยข้าม 10 รายการแรก (จะได้รายการที่ 11 – 20)

ใช้ LIMIT กับ ORDER BY

เมื่อใช้ LIMIT ร่วมกับ ORDER BY จะช่วยให้เราควบคุมการเรียงลำดับและจำนวนแถวที่ดึงออกมาได้

ดึงภาพยนตร์ 5 เรื่อง ที่มีความยาวมากที่สุด

SQL
SELECT title, length
FROM film
ORDER BY length DESC
LIMIT 5;
  • จะได้รายชื่อภาพยนตร์จำนวน 5 เรื่องที่มีความยาวมากที่สุด

ดึงภาพยนตร์ 5 เรื่อง ที่มีความยาวน้อยที่สุด

SQL
SELECT title, length
FROM film
ORDER BY length ASC
LIMIT 5;
  • จะได้รายชื่อภาพยนตร์จำนวน 5 เรื่องที่มีความยาวน้อยที่สุด
แชร์เรื่องนี้