เปรียบเทียบ GROUP BY และ ORDER BY ใน SQL
GROUP BY
- จัดกลุ่มแถวที่มีค่าเหมือนกัน
- ใช้ใน CREATE VIEW ได้
- ใน SELECT ต้องอยู่ก่อน ORDER BY
- Attribute ที่อยู่ภายใต้ Aggregate Function ไม่ได้อยู่ใน GROUP BY
- จัดกลุ่มตามความคล้ายคลึงของ Attribute Values
- ควบคุมการนำเสนอ Tuples/Rows
ORDER BY
- ไม่ใช้ใน CREATE VIEW
- เรียงลำดับ Result Set (Ascending/Descending)
- อยู่หลัง GROUP BY
- Attribute อยู่ภายใต้ Aggregate Function ได้
- ควบคุมการนำเสนอ Columns
Syntax รวม
SELECT column1, column2 FROM table_name WHERE [conditions] GROUP BY column1, column2 ORDER BY column1, column2
สรุปความแตกต่าง
| คุณสมบัติ | GROUP BY | ORDER BY |
|---|---|---|
| วัตถุประสงค์ | จัดกลุ่มข้อมูล | เรียงลำดับข้อมูล |
| CREATE VIEW | ได้ | ไม่ได้ |
| ตำแหน่งใน Query | ก่อน ORDER BY | หลัง GROUP BY |
| Aggregate Function ใน Clause | ไม่ได้ | ได้ |
| ควบคุม | Rows/Tuples | Columns |