ส่วนคำสั่ง HAVING

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่วนคำสั่ง HAVING ใน Access จะระบุว่าระเบียนที่จัดกลุ่มแล้วระเบียนใดจะแสดงในคำสั่ง SELECT พร้อมส่วนคำสั่ง GROUP BY หลังจากที่ส่วนคําสั่ง GROUP BY ได้รวมระเบียนแล้ว ส่วนคําสั่ง HAVING จะแสดงทุกระเบียนที่ถูกจัดกลุ่มไว้โดยส่วนคําสั่ง GROUP BY ซึ่งสอดคล้องกับเงื่อนไขของส่วนคําสั่ง HAVING

ไวยากรณ์

รายการเขตข้อมูล SELECT
ตาราง FROM
WHERE selectcriteria
GROUP BY groupfieldlist
[ HAVING groupcriteria]

คำสั่ง SELECT ที่มีส่วนคำสั่ง HAVING มีส่วนต่างๆ ดังนี้

ส่วน คำอธิบาย
fieldlist ชื่อของเขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่จะถูกดึงออกมาพร้อมกันกับนามแฝงของชื่อเขตข้อมูลใดๆ , ฟังก์ชันการรวมของ SQL, เพรดิเคตการเลือก (ALL, DISTINCT, DISTINCTROW หรือ TOP) หรือตัวเลือกอื่นๆ ของคำสั่ง SELECT
table ชื่อของตารางที่ระเบียนถูกดึงออกมา
selectcriteria เกณฑ์การคัดเลือก ถ้าคําสั่งมีส่วนคําสั่ง WHERE กลไกจัดการฐานข้อมูลของ Microsoft Access จะจัดกลุ่มค่าต่างๆ หลังจากที่นําเงื่อนไข WHERE ไปใช้กับระเบียนแล้ว
groupfieldlist ชื่อของเขตข้อมูลที่มีจํานวนมากถึง 10 เขตข้อมูลซึ่งใช้ในการจัดกลุ่มระเบียน ลําดับของชื่อเขตข้อมูลใน groupfieldlist จะกําหนดระดับการจัดกลุ่มจากระดับสูงสุดจนถึงระดับต่ําสุดของการจัดกลุ่ม
groupcriteria นิพจน์ที่กำหนดว่าระเบียนที่ถูกจัดกลุ่มระเบียนใดบ้างที่จะแสดง

ข้อสังเกต

ส่วนคำสั่ง HAVING จะมีหรือไม่มีก็ได้

ส่วนคําสั่ง HAVING จะคล้ายคลึงกับส่วนคําสั่ง WHERE ที่กําหนดว่าระเบียนใดบ้างที่จะถูกเลือก หลังจากที่ระเบียนถูกจัดกลุ่มกับส่วนคําสั่ง GROUP BY แล้ว ส่วนคําสั่ง HAVING จะกําหนดว่าจะแสดงระเบียนใดบ้าง ดังนี้

SELECT CategoryID,
Sum(UnitsInStock)
FROM Products
GROUP BY CategoryID
HAVING Sum(UnitsInStock) > 100 And Like "BOS*";

ส่วนคำสั่ง HAVING สามารถมีนิพจน์ได้ถึง 40 นิพจน์ซึ่งเชื่อมโยงกันด้วยตัวดำเนินการเชิงตรรกะ เช่น And และ Or