ส่วนคำสั่ง GROUP BY ใน Access จะรวมระเบียนด้วยค่าที่เหมือนกันในรายการเขตข้อมูลที่ระบุลงในระเบียนเดียว ค่าสรุปจะถูกสร้างขึ้นสําหรับแต่ละระเบียนถ้าคุณใส่ฟังก์ชันการรวมของ SQL เช่น Sum หรือ Count ไว้ในคําสั่ง SELECT
ไวยากรณ์
รายการเขตข้อมูล SELECT
ตาราง FROM
เกณฑ์ WHERE
[GROUP BY groupfieldlist]
คำสั่ง SELECT ที่มีส่วนคำสั่ง GROUP BY มีส่วนต่างๆ ดังนี้
| ส่วน | คำอธิบาย |
|---|---|
| fieldlist | ชื่อของเขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่จะถูกดึงออกมาพร้อมกันกับนามแฝงของชื่อเขตข้อมูลใดๆ , ฟังก์ชันการรวมของ SQL, เพรดิเคตการเลือก (ALL, DISTINCT, DISTINCTROW หรือ TOP) หรือตัวเลือกอื่นๆ ของคำสั่ง SELECT |
| table | ชื่อของตารางที่ระเบียนถูกดึงออกมา |
| criteria | เกณฑ์การคัดเลือก ถ้าคําสั่งมีส่วนคําสั่ง WHERE กลไกจัดการฐานข้อมูลของ Microsoft Access จะจัดกลุ่มค่าต่างๆ หลังจากที่นําเงื่อนไข WHERE ไปใช้กับระเบียนแล้ว |
| groupfieldlist | ชื่อของเขตข้อมูลที่มีจํานวนมากถึง 10 เขตข้อมูลซึ่งใช้ในการจัดกลุ่มระเบียน ลําดับของชื่อเขตข้อมูลใน groupfieldlist จะกําหนดระดับการจัดกลุ่มจากระดับสูงสุดจนถึงระดับต่ําสุดของการจัดกลุ่ม |
ข้อสังเกต
ส่วนคำสั่ง GROUP BY จะมีหรือไม่ก็ได้
ค่าสรุปจะถูกละเว้นไปถ้าไม่มีฟังก์ชันการรวมของ SQL อยู่ในคำสั่ง SELECT
ค่า Null ในเขตข้อมูล GROUP BY จะถูกจัดกลุ่มและไม่ถูกละเว้น อย่างไรก็ตาม ค่า Null จะไม่ถูกประเมินในฟังก์ชันการรวมใดๆ ของ SQL
ให้ใช้ส่วนคำสั่ง WHERE เมื่อต้องการแยกแถวที่คุณไม่ต้องการจัดกลุ่ม และให้ใช้ส่วนคำสั่ง HAVING เมื่อต้องการกรองระเบียนหลังจากที่ถูกจัดกลุ่มแล้ว
ถ้าไม่มีข้อมูล Memo หรือวัตถุ OLE อยู่ เขตข้อมูลในรายการเขตข้อมูลของ GROUP BY สามารถอ้างถึงเขตข้อมูลใดๆ ในทุกตารางที่แสดงอยู่ในส่วนคําสั่ง FROM ได้ แม้ว่าเขตข้อมูลนั้นไม่ได้รวมอยู่ในคําสั่ง SELECT ก็ตาม ถ้าคําสั่ง SELECT มีฟังก์ชันการรวมของ SQL รวมอยู่ด้วยอย่างน้อยหนึ่งฟังก์ชัน กลไกจัดการฐานข้อมูลของ Microsoft Access ไม่สามารถจัดกลุ่มบนเขตข้อมูล Memo หรือวัตถุ OLE ได้
เขตข้อมูลทั้งหมดในรายการเขตข้อมูลของ SELECT จะต้องถูกใส่ไว้ในส่วนคำสั่ง GROUP BY หรือใส่ไว้เป็นอาร์กิวเมนต์ของฟังก์ชันการรวม SQL อย่างใดอย่างหนึ่ง