Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะใช้เกณฑ์การกรองที่ระดับกลุ่มของชุดผลลัพธ์ที่ MySQL ส่งคืนได้อย่างไร


ตามที่เราทราบ GROUP BY clause ในคำสั่ง SELECT สามารถแบ่งชุดผลลัพธ์ที่ส่งคืนโดย MySQL เป็นกลุ่ม ตอนนี้ หากเราต้องการส่งคืนเฉพาะบางกลุ่ม จำเป็นต้องใช้เกณฑ์การกรองที่ระดับกลุ่ม สามารถทำได้โดยใช้ส่วนคำสั่ง HAVING ภายในส่วนคำสั่ง GROUP BY ตัวอย่างด้านล่างจะแสดงให้เห็น −

ตัวอย่าง

สมมติว่าเราต้องการคืนเฉพาะกลุ่มที่มีเงินเดือนเฉลี่ย 55000 จากนั้นเราจำเป็นต้องใช้เกณฑ์การกรองดังต่อไปนี้ใน HAVING clause –

mysql> Select count(*),AVG(salary),Designation from employees GROUP BY designation having AVG(salary) = 55000;

+----------+-------------+-------------+
| count(*) | AVG(salary) | Designation |
+----------+-------------+-------------+
| 2        | 55000.0000  | Asst.Prof   |
+----------+-------------+-------------+

1 row in set (0.00 sec)