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关键字一起使用,用来对分完组后的数据进一步的筛选,属于常用关键字之一。此外还经常与集合进行一起使用,这里不作扩展。



相关文章
|
9月前
|
SQL 关系型数据库 MySQL
MySQL实战基础知识入门(2):统计一天24小时数据默认补0的sql语句
MySQL实战基础知识入门(2):统计一天24小时数据默认补0的sql语句
572 0
|
29天前
|
SQL 存储 Oracle
SQL,Group By 真扎心,原来是这样
SQL,Group By 真扎心,原来是这样
37 0
|
1月前
|
SQL 关系型数据库 数据处理
详解SQL语句中的GROUP BY和聚合函数COUNT、SUM、AVG、MIN和MAX。
详解SQL语句中的GROUP BY和聚合函数COUNT、SUM、AVG、MIN和MAX。
19 0
|
1月前
|
SQL
SQL中GROUP BY语句与HAVING语句的使用
SQL中GROUP BY语句与HAVING语句的使用
23 1
|
3月前
|
SQL Oracle 关系型数据库
Oracle PL/SQL基础知识及应用案例
Oracle PL/SQL基础知识及应用案例
33 0
|
4月前
|
SQL 数据库
SQL HAVING 子句详解:在 GROUP BY 中更灵活的条件筛选
HAVING子句被添加到SQL中,因为WHERE关键字不能与聚合函数一起使用。
72 0
|
6月前
|
SQL
10SQL - group by关键字
10SQL - group by关键字
19 0
|
8月前
|
SQL 关系型数据库 MySQL
[MySQL] SQL 基础知识
[MySQL] SQL 基础知识
|
9月前
|
SQL NoSQL 数据库
数据库SQL Server 基础知识思维导图
数据库SQL Server 基础知识思维导图
178 0
|
9月前
|
SQL 数据库
SQL注入基础知识(自己的笔记)
这是0xThrL的GD师傅在学习SQL注入时候写的笔记 ,也是希望可以帮助到大家,有什么问题希望各位师傅可以指出。
85 0