ส่วนคำสั่ง GROUP BY ใน Access จะรวมระเบียนด้วยค่าที่เหมือนกันในรายการเขตข้อมูลที่ระบุลงในระเบียนเดียว ค่าสรุปจะถูกสร้างขึ้นสําหรับแต่ละระเบียนถ้าคุณรวมฟังก์ชันการรวม SQL เช่น Sum หรือ Count ในคําสั่ง SELECT
ไวยากรณ์
SELECT fieldlist
FROM table WHERE criteria [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 อย่างใดอย่างหนึ่ง