0


MySQL GROUP BY与聚合函数--作业记录

在 MySQL 中,GROUP BY 关键字可以根据一个或多个字段对查询结果进行分组。
使用 GROUP BY 关键字的语法格式如下:

GROUP BY  <字段名>

其中,“字段名”表示需要分组的字段名称,多个字段时用逗号隔开

GROUP BY单独使用

单独使用 GROUP BY 关键字时,查询结果会只显示每个分组的第一条记录。

例 1

下面根据 tb_students_info 表中的 sex 字段进行分组查询,SQL 语句和运行结果如下:

mysql> SELECT name,sex FROM tb_students_info 
    -> GROUP BY sex;
+-------+------+
| name  | sex  |
+-------+------+
| Henry | 女   |
| Dany  | 男   |
+-------+------+

结果中只显示了两条记录,这两条记录的 sex 字段的值分别为“女”和“男”。

例 2

下面根据 tb_students_info 表中的 age 和 sex 字段进行分组查询。SQL 语句和运行结果如下:

mysql> SELECT age,sex,GROUP_CONCAT(name) FROM tb_students_info 
    -> GROUP BY age,sex;
+------+------+--------------------+
| age  | sex  | GROUP_CONCAT(name) |
+------+------+--------------------+
|   21 | 女   | John               |
|   22 | 女   | Thomas             |
|   22 | 男   | Jane,Lily          |
|   23 | 女   | Henry,Tom          |
|   23 | 男   | Green,Susan        |
|   24 | 女   | Jim                |
|   25 | 男   | Dany               |
+------+------+--------------------+

GROUP BY 与聚合函数

在数据统计时,GROUP BY 关键字经常和聚合函数一起使用。

聚合函数包括 COUNT(),SUM(),AVG(),MAX() 和 MIN()。其中,COUNT() 用来统计记录的条数;SUM() 用来计算字段值的总和;AVG() 用来计算字段值的平均值;MAX() 用来查询字段的最大值;MIN() 用来查询字段的最小值。

例 3

下面根据 tb_students_info 表的 sex 字段进行分组查询,使用 COUNT() 函数计算每一组的记录数。SQL 语句和运行结果如下:

mysql> SELECT sex,COUNT(sex) FROM tb_students_info 
    -> GROUP BY sex;
+------+------------+
| sex  | COUNT(sex) |
+------+------------+
| 女   |          5 |
| 男   |          5 |
+------+------------+

结果显示,sex 字段值为“女”的记录是一组,有 5 条记录;sex 字段值为“男”的记录是一组,有 5 条记录。

MySQL 作业记录

-- 查询Goods表,统计所有商品的总销售量
SELECT SUM(gdSaleQty)
FROM goods;
-- 查询Goods表,显示商品的最低价格
SELECT min(gdPrice)
FROM goods;
-- 查询Orders表,显示购买过钢笔的用户人数。
SELECT COUNT(DISTINCT uID),gdName='钢笔'
FROM orders;
-- 查询goods表,统计每个城市商品的销售总量。
SELECT SUM(uIDNum),gdCity
FROM goods;
-- 查询goods表,查询出销售量前三的城市。
SELECT uCity
FROM goods
GROUP BY uCity
ORDER BY uCity DESC
HAVING saleNum>=3;
标签: mysql

本文转载自: https://blog.csdn.net/weixin_49345320/article/details/123746253
版权归原作者 浪里个浪的1024 所有, 如有侵权,请联系我们删除。

“MySQL GROUP BY与聚合函数--作业记录”的评论:

还没有评论