SQL中Having与Where的区别

网络编程 2021-07-05 16:50www.168986.cn编程入门
何时使用having where,请遵照狼蚁网站SEO优化的说明WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。

含义

where

在分组之前就进行选择操作

having

having在分组操作之后才进行选择操作,所以having可以选择聚合函数
eg

// 狼蚁网站SEO优化这句是可以的
SELECT COUNT() FROM A
WHERE A.a1>0
GROUP BY a2;
//狼蚁网站SEO优化就不行
SELECT COUNT() FROM A
WHERE A.a1>0 and count()>1
GROUP BY a2;
//必须要改为having
SELECT COUNT() FROM A
WHERE A.a1>0
GROUP BY a2
HAVING COUNT()>1

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by