SQL基础知识V2——GROUP BY

简介: SQL数据库开发

GROUP BY 作用
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。


GROUP BY 语法

SELECT column_name,

aggregate_function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name;


示例数据库

我们使用Customers表和Orders表来演示:

50.jpg

                                                    Customers表

51.jpg

Orders表


GROUP BY实例

查询居住在各个城市的客户分别有多少个。我们可以这样写SQL:

SELECT 城市,COUNT(*) AS 客户数量
FROM Customers
GROUP BY 城市

结果:

52.jpg


从上面我们可以看到,GROUP BY 将城市名称相同的客户聚集在一起,然后通过COUNT函数计算出了他们的数量。


GROUP BY 多表连接

查询每个城市有多少个订单产生。我们可以这样写SQL:

SELECT c.城市,COUNT(o.订单ID) AS 订单数量
FROM Customers c
LEFT JOIN Orders o ON c.客户ID=o.客户ID
GROUP BY c.城市

结果:


53.jpg

因为没有北京和杭州的用户购买产品,所以订单数量为0


批注

GROUP BY主要作用是用来进行分组聚合,也有时候会用来进行排重,与DISTINCT关键字作用类似。常用HAVING关键字一起使用,用来对分完组后的数据进一步的筛选,属于常用关键字之一。此外还经常与集合进行一起使用,这里不作扩展。



相关文章
|
4月前
|
SQL 安全 流计算
Flink SQL 在快手实践问题之Group Window Aggregate 中的数据倾斜问题如何解决
Flink SQL 在快手实践问题之Group Window Aggregate 中的数据倾斜问题如何解决
82 1
|
6月前
|
SQL 数据库
SQL GROUP BY 语句
SQL GROUP BY 语句
33 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
58 0
|
7月前
|
SQL
SQL中GROUP BY语句与HAVING语句的使用
SQL中GROUP BY语句与HAVING语句的使用
111 1
|
7月前
|
SQL 存储 Oracle
SQL,Group By 真扎心,原来是这样
SQL,Group By 真扎心,原来是这样
67 0
|
7月前
|
SQL 关系型数据库 数据处理
详解SQL语句中的GROUP BY和聚合函数COUNT、SUM、AVG、MIN和MAX。
详解SQL语句中的GROUP BY和聚合函数COUNT、SUM、AVG、MIN和MAX。
957 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle PL/SQL基础知识及应用案例
Oracle PL/SQL基础知识及应用案例
122 0
|
7月前
|
SQL 数据库
SQL HAVING 子句详解:在 GROUP BY 中更灵活的条件筛选
HAVING子句被添加到SQL中,因为WHERE关键字不能与聚合函数一起使用。
252 0
|
数据库
解决which is not functionally dependent on columns in GROUP BY clause;...sql_mode=only_full_group_by
解决which is not functionally dependent on columns in GROUP BY clause;...sql_mode=only_full_group_by
291 0
|
SQL
10SQL - group by关键字
10SQL - group by关键字
69 0