在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、聚合查询在访问数据库时,经常要对表中的某列数据进行统计汇总,如求和、最大值、最小值、平均值等,这时就需要使用聚合函数,所谓聚合函数,就是用于汇总的函数,聚合就是将多行汇总为一行, 常见的聚合函数如下: 1、COUNT 函数
例如,计算全部数据的行数: SELECT COUNT(*) FROM users;
SELECT COUNT(user_name) FROM users; 2、SUM 函数用于计算任意列中数据的和。 例如,计算所有用户的年龄之和: SELECT sum(age) FROM users; 3、AVG 函数用于计算任意列中数据的平均值。 例如,计算所有用户的年龄平均值: SELECT AVG(age) FROM users; 4、MAX 函数和 MIN 函数
例如,计算所有用户中的年龄的最大值和最小值: SELECT MAX(age),MIN(age) FROM users;
二、分组查询聚合函数是对表中所有数据进行统计汇总,还可以使用 语法格式: SELECT <字段名>,... FROM <表名> GROUP BY <字段名>,...; 例如,按照用户所在城市进行分组统计每个城市用户的和: SELECT city,count(*) FROM users GROUP BY city; +-------+----------+ | city | count(*) | +-------+----------+ | 北京 | 60 | | 上海 | 45 | | NULL | 80 | | 济南 | 12 | +-------+----------+ 通过结果可以看出,字段为 SELECT city,count(*) FROM users WHERE city IS NOT NULL GROUP BY city; 三、对聚合结果进行过滤当我们使用 例如,按照用户的所在城市进行分组,并且筛选分组中用户数量大于40的组: SELECT city,COUNT(*) AS num FROM users GROUP BY city HAVING num>40; 再比如:按照用户的所在城市进行分组,并且筛选分组中用户平均年龄小于25的组。 SELECT city,AVG(age) AS avg_age FROM users GROUP BY city HAVING avg_age<25; 1、HAVING 子句的构成要素HAVING子句中能够使用的3种要素:
四、对查询结果进行排序
语法格式: SELECT <字段名>,... FROM <表名> ORDER BY <字段名> ASC/DESC,...; 例如:对users表中的记录按照年龄升序排列: SELECT * FROM users ORDER BY age ASC;
例如,对users表中的记录按照年龄降序排列: SELECT * FROM users ORDER BY age DESC; 1、 指定多个排序键
SELECT * FROM student ORDER BY age DESC,register_time ASC; 多个字段排序时中间用“,”隔开。 2、 使用聚合函数排序
例如,按照用户的所在城市进行分组,并且按照分组的用户数量进行排序: SELECT city,COUNT(*) AS num FROM users GROUP BY city ORDER BY num; 到此这篇关于SQL 聚合、分组和排序的文章就介绍到这了,更多相关SQL 聚合、分组和排序内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论