8.MySQL处理数据函数及数据汇总(聚集函数)

1.使用数据处理函数

1.1函数

## 概述
    SQL支持利用函数来处理数据,函数一般是在数据上执行的,它给数据的转换和处理提供了方便。

1.2使用函数

## SQL支持函数的不同类型
    1.用于处理文本串的文本函数(如: 删除值,填充值,转换大小写)
    2.用于数值数据在算术上操作的数值函数
    3.用于处理日期和时间值的时间函数
    4.返回DBMS正使用的特殊信息的系统函数(如:用户登录信息等)

1.2.1 文本处理函数

## 常用的文本处理函数
    函数                      说明
    Left()                 返回串左边的字符
    Length()               返回串的长度
    Locate()               找出串的一个子串
    Lower()                将串转换为小写
    LTrim()                去掉串左边的空格
    Right()                返回串右边的字符
    RTrim()                去掉串右边的空格
    Soundex()              返回串的SOUNDEX值
    SubString()            返回子串的字符
    Upper()                将串转换为大写
## Soundex函数是对串的发音去进行比较的,它会将任何字符串转换为其语音表示的字母数字模式算法。 

1.2.2日期和时间处理函数

## MySQl中不能用来存储日期和时间的格式,因此日期和时间函数总是用来读取,统计,处理这些值。
## 常用日期和时间处理函数
    函数                      说明
    Date()                  返回日期时间的日期部分
    AddDate()               增加一个日期
    AddTime()               增加一个时间
    CurDate()               返回当前日期
    CurTime()               返回当前时间
    DateDiff()              计算两个日期之差
    Date_Add()              高度灵活的日期运算函数
    Date_Format()           返回一个格式化的日期或时间串
    Day()                   返回一个日期的天数部分
    DayOfWeek()             对于一个日期,返回对应的星期几
    Hour()                  返回一个时间的小时部分
    Minute()                返回一个时间的分钟部分
    Month()                 返回一个日期的月份部分
    Now()                   返回当前日期和时间
    Second()                返回一个时间秒的部分
    Time()                  返回一个日期时间的时间部分
    Year()                  返回一个日期的年份部分
## Date_Format函数 
    将日期格式化为yyyy.MM.dd
    select DATE_FORMAT(b_time,'%Y.%m.%d') from bookmanage
## Date 函数
    MySQL查询出来的dateTime后会加00:00:00,如果想要某种需求,就可以用Date() 函数把日期时间格式转为日期

1.2.3数值处理函数

## 数值处理函数仅处理数值数据
## 常用数值处理函数
    函数                      说明
    Abs()                   返回一个数的绝对值
    Cos()                   返回一个角度的余弦
    Exp()                   返回一个数的指数值
    Mod()                   返回除操作的余数
    ....

2.汇总数据

2.1聚集函数

## 概述
    聚集函数用于汇总数据,运行在行组上,计算和返回单个值的函数。
## AVG()函数:返回某列的平均值
    计算所有花的平均价格
    SELECT AVG(price) FROM flower
## COUNT()函数:返回某列的行数
    1.汇总表中的总行数:会统计列值为NULL的行
    SELECT COUNT(*) FROM flower
    2.根据列汇总行数
    SELECT COUNT(name) FROM flower
## MAX()函数:返回某列的最大值
    计算花的最高价格
    SELECT MAX(price) FROM flower
## MIN()函数:返回某列的最小值
    计算花的最低价格
    SELECT MIN(price) FROM flower 
## SUM()函数
    计算所有花的总价格
    SELECT SUM(price) FROM flower
## AVG,COUNT(列名),MAX,MIN,SUM 函数忽略列值为NULL的行  
 

2.2组合聚集函数

## SELECT语句可根据需要包含多个聚集函数,以下为例:
    SELECT COUNT(*) AS num_items,
    MIN(price) AS price_min,
    MAX(price) AS price_max,
    AVG(price)AS price_avg 
    FROM flower;
输出:
    +-----------+-----------+-----------+-----------+
    | num_items | price_min | price_max | price_avg |
    +-----------+-----------+-----------+-----------+
    |         4 |       2.5 |         5 |       3.5 |
    +-----------+-----------+-----------+-----------+

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值