mysql:having 用法


順序:where -> group by -> min -> order by -> limit

在select語句中使用having 子句來指定一組行或聚合的過濾條件

having 子句通常與 group by子句一起使用,以根據指定的條件過濾分組。如果省略group by子句,則having 子句的行為與where 子句類似

 

MySQL HAVING子句示例

1、查詢重復的行

select id,name from student where name in (select name from student group by name having (count(*) > 1)) order by name;

查詢student表中重名的學生,結果包含id和name,按name,id升序

2、查詢分組中特定要求的行

select sid,avg(score) as avg_score from student_course group by sid having (avg_score < 60);

在student_course表中查詢平均分不及格的學生,列出學生id和平均分

3、顯示每個地區的總人口數和總面積.僅顯示那些面積超過1000000的地區。

select region,sum(population),sum(area) from china group by region having (sum(area) > 1000000);

 

HAVING與WHERE區別

having字句可以讓我們篩選成組后的各種數據,where字句在聚合前先篩選記錄,也就是說作用在group by和having字句前。而 having子句在聚合后對組記錄進行篩選。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM