ORDER BY & LIMIT
ORDER BY — เรียงลำดับผลลัพธ์
Section titled “ORDER BY — เรียงลำดับผลลัพธ์”ผลลัพธ์จาก SELECT ไม่มีลำดับที่แน่นอน ถ้าต้องการเรียง ต้องใช้ ORDER BY
คลิกขวาที่หัวคอลัมน์ แล้วเลือก “Sort A → Z” หรือ “Sort Z → A”
// ต้องเขียน comparator แล้วใช้ qsort()qsort(students, n, sizeof(Student), cmp_name);df.sort_values("price", ascending=False)-- เรียงชื่อ ก-ฮ (ascending = default)SELECT name, price FROM studentsORDER BY name ASC;
-- เรียงราคาจากมากไปน้อยSELECT name, price FROM studentsORDER BY price DESC;
-- เรียงหลายคอลัมน์: active ก่อน แล้วราคามากไปน้อยSELECT name, active, price FROM studentsORDER BY active DESC, price DESC;LIMIT — จำกัดจำนวนแถว
Section titled “LIMIT — จำกัดจำนวนแถว”เมื่อตารางมีข้อมูลเป็นล้านแถว เราไม่ต้องการดึงมาทั้งหมด LIMIT ช่วยกำหนดจำนวนสูงสุดที่ต้องการ
-- ดึงแค่ 5 แถวแรกSELECT name, price FROM studentsLIMIT 5;
-- 3 คนที่จ่ายแพงที่สุดSELECT name, price FROM studentsORDER BY price DESCLIMIT 3;OFFSET — ข้ามแถวสำหรับ Pagination
Section titled “OFFSET — ข้ามแถวสำหรับ Pagination”OFFSET บอกให้ข้ามแถวจำนวนหนึ่งก่อนเริ่มนับ — ใช้คู่กับ LIMIT เพื่อทำระบบหน้า (pagination)
-- หน้าที่ 1: แถว 1-10SELECT student_id, name FROM studentsORDER BY student_idLIMIT 10 OFFSET 0;
-- หน้าที่ 2: แถว 11-20SELECT student_id, name FROM studentsORDER BY student_idLIMIT 10 OFFSET 10;
-- หน้าที่ 3: แถว 21-30SELECT student_id, name FROM studentsORDER BY student_idLIMIT 10 OFFSET 20;สรุปลำดับการเขียน
Section titled “สรุปลำดับการเขียน”SELECT columnsFROM tableWHERE conditionORDER BY column [ASC|DESC]LIMIT nOFFSET m;