MySql基础

廖清远

目录

  • 1 软件
    • 1.1 软件
  • 2 数据库
    • 2.1 数据库
  • 3 第一单元
    • 3.1 聚合查询
    • 3.2 条件查询
    • 3.3 多表连接查询
    • 3.4 分类汇总与排序
    • 3.5 综合练习1
    • 3.6 综合练习2
    • 3.7 综合练习3
    • 3.8 第五课时
聚合查询
  • 1 基础知识
  • 2 上机任务

聚合查询


   

     数据查询是Mysql数据库管理最重要的一个功能,有些时候,并不需要返回数据本身,只需要对数据进行统计计算总结,那么就需要用到聚合函数进行查询

AVG([distinct] expr)

求平均值

COUNT({*|[distinct] } expr)

统计行的数量

MAX([distinct] expr)

求最大值

MIN([distinct] expr)

求最小值

SUM([distinct] expr)

求累加和

1 COUNT函数

# COUNT(<*>):返回表查询结果中的总行数,不管是否有空值
# COUNT(<字段名>):返回字段查询结果中的总行数,忽略空值的行

【案例】
a 求会员总人数。
      SELECT COUNT(*) AS  '会员数'
          FROM Members;

b  统计已结清的订单数。
       SELECT COUNT(是否结清)  AS  '已结清的订单数'
           FROM Sell;

注意:这里COUNT(是否结清)只统计是否结清列中不为NULL的行。

c  统计订购册数在5以上的订单数。
        SELECT COUNT(订购册数)  AS  '订购册数在5以上的订单数‘
              FROM Sell
                 WHERE 订购册数>5;


2 MAX和MIN

MAX和MIN分别用于求表达式中所有值项的最大值与最小值,语法格式为:
MAX / MIN ( [ ALL | DISTINCT ] expression )
其中,expression是常量、列、函数或表达式,其数据类型可以是数字、字符和时间日期 类型。

【案例】

a  求订购了图书编号为ISBN 8-5006-6625-X的订单的最高订购册数和最低订购册数。
       SELECT MAX(订购册数), MIN(订购册数)
           FROM Sell
               WHERE  图书编号 = ' ISBN 8-5006-6625-X';
注意:当给定列上只有空值或检索出的中间结果为空时,MAX和MIN函数的值也为空。


3 SUM函数和AVG函数

SUM和AVG分别用于求表达式中所有值项的总和与平均值,语法格式为:
SUM / AVG ( [ ALL | DISTINCT ] expression )
其中,expression是常量、列、函数或表达式,其数据类型只能是数值型。

【案例】

a  求订购了图书编号为ISBN 8-5006-6625-X图书的订购总册数


           SELECT SUM(订购册数)  AS  '订购总册数'
               FROM Sell
                    WHERE  图书编号 = 'ISBN 8-5006-6625-X';

b  求订购图书编号为ISBN 8-5006-6625-X图书的订单平均册数。
          SELECT AVG(订购册数)  AS  '每笔订单平均册数'
                FROM Sell   
                    WHERE  图书编号 = 'ISBN 8-5006-6625-X';