分组函数作用于一组数据,并对一组数据返回一个值。

• AVG()
• COUNT()
• MAX()
• MIN()
• SUM()


可以对任意数据类型的数据使用 MIN 和 MAX 函数。

1、COUNT(*) 返回表中记录总数,适用于任意数据类型。

2、COUNT(expr) 返回expr不为空的记录总数。



1、WHERE一定放在FROM后面
2、在SELECT 列表中所有未包含在组函数中的列都应该包含 在 GROUP BY 子句中。

3、包含在 GROUP BY 子句中的列不必包含在SELECT 列表中

4、在GROUP BY子句中包含多个列

• 不能在 WHERE 子句中使用组函数。

• 可以在 HAVING 子句中使用组函数。

笛卡尔集会在下面条件下产生:
– 省略连接条件
– 连接条件无效
– 所有表中的所有行互相连接
为了避免笛卡尔集, 可以在 WHERE 加入有 效的连接条件。


– 内连接 [inner] join on
– 外连接
• 左外连接 left [outer] join on
• 右外连接 right [outer] join on















mysql基础教程(二)-----分组函数、多表查询、常见函数
原文:https://www.cnblogs.com/alimayun/p/11055912.html