SQL语句Group By分组以及where和having的区别

Group By分组

depart表
在这里插入图片描述
现在想要查询出汽车系 和软件系的个数,这就用到分组

SELECT xname,COUNT(*) FROM depart
GROUP BY xname

1.count()是聚合函数,对于返回的结果集,一行行地判断,累计值加1,最后返回累计值,count()、count(主键ID)和count(1)表示返回满足条件的结果集的总行数。

常用聚合函数
count() 计数
sum() 求和
avg() 平均数
max() 最大值
min() 最小值

2.GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,
在这里插入图片描述
查询结果就出来了,汽车系的为2个,软件系的为1个… 查询结果也正确…分组完成

where和having的区别

相同点:where和having都是sql用于条件判断的
不同点:进行group by分组之后 然后在进行条件判断,这个时候必须用having进行判断,不能用where判断,
分组之后一定不能出现where

发布了23 篇原创文章 · 获赞 28 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_45736927/article/details/103086702