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

MySQL LIMIT 1 สำหรับเลือกแถวเดียว

ใช้ LIMIT 1 จำกัดผลลัพธ์ให้ได้แค่ 1 แถว (ร่วมกับ WHERE ที่อาจตรงหลายแถว)

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

ใช้ตาราง selectWithPrimaryKey เดิม (7 แถว)

ข้อมูลทั้งหมด

+----+-------+------+-------+
| Id | Name  | Age  | Marks |
+----+-------+------+-------+
| 1  | Larry | 24   | 98    |
| 2  | John  | 23   | 89    |
| 3  | Mike  | 21   | 85    |
| 4  | Sam   | 26   | 56    |
| 5  | Carol | 21   | 59    |
| 6  | Bob   | 20   | 91    |
| 7  | David | 28   | 93    |
+----+-------+------+-------+

คำสั่ง: เลือกแถวแรกที่ตรงเงื่อนไข (Id=10 หรือ Age=29 หรือ Marks=89) จำกัด 1 แถว

mysql> SELECT * FROM selectWithPrimaryKey WHERE Id = 10 OR Age = 29 OR Marks = 89 LIMIT 1;

ผลลัพธ์ (เจอ Marks=89 ก่อน Id=2)

+----+------+------+-------+
| Id | Name | Age  | Marks |
+----+------+------+-------+
| 2  | John | 23   | 89    |
+----+------+------+-------+

คำอธิบาย: WHERE ตรง 2 แถว (Id=2 Marks=89, Id=7 Age=29) แต่ LIMIT 1 ทำให้ได้แค่แถวแรกที่เจอ

แนะนำ: ควรมี ORDER BY เพื่อควบคุมว่าได้แถวไหน (เช่น ORDER BY Id LIMIT 1)