【章节7】汇总和分组、连接(join)、子查询(in和exists)和联合查询(union)

本文详细介绍了MySQL中的数据查询技巧,包括聚合函数如COUNT、AVG等在汇总和分组数据中的应用,GROUP BY与HAVING子句的使用,以及SELECT语句的执行顺序。还涵盖了从简单到复杂的连接查询,如内连接和外连接,以及如何利用IN和EXISTS子查询进行条件筛选。此外,文章也讨论了联合查询(UNION)来组合不同查询结果的方法。
摘要由CSDN通过智能技术生成

汇总和分组数据

1.聚合函数 

执行某个查询语句→会生成结果集(多条数据)→经过聚合函数后会生成单行记录
e.g 求平均分、总分

常用的聚合函数


示例1(查询玩家表中一共有多少名玩家信息):       

select count(USER_QQ) from USERS    #只统计了非空行数
select count(*) from USERS    #只要行上任意列不为空,就进行统计
示例2(查询QQ号是12301的玩家游戏的总分数):      
select sum(SCORE)  as ‘总分数’ from SCORES where USER_QQ = 12301
示例3(查询QQ号是12301的玩家游戏的平均分):       
select avg(SCORE)  as ‘平均分数’ from SCORES where USER_QQ = 12301
示例4(查询游戏编号是1的游戏的最高分):      
select max(SCORE)  as ‘最高分’ from SCORES where GNO = 1
示例5(查询QQ号是12302的玩家的总分、平均分和最高分):
select 
sum(SCORE)  as ‘总分数’,
avg(SCORE)  as ‘平均分数’,
max(SCORE)  as ‘最高分’ 
from SCORES where USER_QQ = 12302

2.在结果集中分组 group by

查询语句生成多条语句的结果集→聚合函数+group by→生成多条记录

示例1:查询每个玩家的总分数、平均分、最高分

select
USER_QQ, 
sum(SCORE)  as ‘总分数’,
avg(SCORE)  as ‘平均分数’,
max(SCORE)  as ‘最高分’ 
from SCO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值