SQL 基础教程

SQL 高级教程

SQL 函数

SQL 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/sql-group_by.html

SQL GROUP BY 语句用法


SQL GROUP BY 语句将具有相同值的行分组,它通常和聚合函数(COUNTMAXMINSUMAVG)等一起使用。

GROUP BY 语句

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

SQL GROUP BY 语法

SELECT column_name(s)
FROM table_name 
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

示例

简单应用

列出了每个国家/地区的客户数量:

SQL> SELECT country, COUNT(customer_id) FROM customers GROUP BY country;

执行后,输出如下:

+-----------+-------------------+
| country   | COUNT(customer_id)|  
+-----------+-------------------+
| Argentina | 3                 |
| Austria   | 2                 |
| Belgium   | 2                 |
| Brazil    | 9                 |
| Canada    | 3                 |
| Denmark   | 2                 |
+-----------+-------------------+

Join 联表分组

以下 SQL 语句列出了每个托运人发送的订单数:

SQL> SELECT s.shipper_name, COUNT(o.order_id) orders FROM orders o
LEFT JOIN shippers s ON o.shipper_id = s.shipper_id
GROUP BY s.shipper_name;

执行以上 SQL 输出结果如下:

+------------------+------------+
| shipper_name     | orders     |  
+------------------+------------+
| Federal Shipping | 68         |
| Speedy Express   | 54         |
| United Package   | 74         |
+------------------+------------+
SQL 中 WHERE 和 GROUP BY 的执行顺序如何? ...
假设我们要拼接一个简单的查询SQL语句,查找用户表中年龄大于等于18岁的用户:我们使用的数据库是MySQL。###使用PreparedSta ...
在使用 mysql 进行 group by 分组查询后,分组的一些 id 对应的如条数 count 缺少数据时,通常不会有该条记录,为了一句 ...
Hive SQL 语句中,case when 可以有多个条件的判断,也可以进行组合嵌套。 ...
在Java中,`while`循环是一种基本的循环结构,用于在满足一定条件的情况下重复执行一段代码块。总之,`while`循环是Java中常用 ...