MySQL 单表查询(下)

三、高级查询

1、聚合函数

函数名称作用函数名称作用
count()返回某列的行数max()返回某列的最大值
sum()返回某列的和min()返回某列的最小值
avg()返回某列的平均值

1.1 count() 函数

语法格式:select count(*) from 表名;
在这里插入图片描述

1.2 sum() 函数

语法格式:select sum(字段名) from 表名;
在这里插入图片描述

1.3 avg() 函数

语法格式:select avg(字段名) from 表名;
在这里插入图片描述

1.4 max()函数和min() 函数

语法格式:select max或min(字段名) from 表名;
在这里插入图片描述

2、对查询结果排序

语法格式如下:

select  * | 字段名1,字段名2···  
from 表名
order by 字段名1 [ ASC | DESC],字段名2[ ASC | DESC] ··· ;

在这里插入图片描述
在这里插入图片描述

3、分组查询

3.1 单独使用 group by 分组

单独使用 group by 关键字,查询的是每个分组中的一条记录。
在这里插入图片描述

3.2 group by 和聚合函数一起使用

group by 和聚合函数一起使用,可以统计出某个或者某些字段在一个分组中的最大值、最小值、平均值等。
在这里插入图片描述

3.3 group by 和 having 关键字一起使用

having 关键字和 where 关键字的作用相同,都用于设置条件表达式对查询结果进行过滤,区别在于,having 关键字后可以跟聚合函数,而 where 关键字不能。
在这里插入图片描述

4、使用 limit 限制查询结果的数量

语法格式如下:

select  * | 字段名1,字段名2···  
from 表名
limit  [offset,] 记录数;

offset 为可选参数,如果不指定其默认值为0,“记录数”表示返回查询记录的条数。
在这里插入图片描述

5、函数(列表)

数字函数

函数名称作用
abs(x)返回 x 的绝对值
sqrt(x)返回 x 的非负2次方根
mod(x,y)返回x被y除后的余数
ceiling(x)返回不小于x 的最小整数
floor(x)返回不大于x 的最大整数
round(x,y)对x进行四舍五入操作,小数点后保留y位
truncate(x,y)舍去x中小数点y位后面的数
sign(x)返回x的符号,-1,0或者1

字符串函数

函数名称作用
length(str)返回字符串str的长度
concat(s1,s2,···)返回一个或多个字符串连接产生的新的字符串
trim(str)删除字符串两侧的空格
replace(str,s1,s2使用字符串s2替换字符串str中所有的字符串s1
substring(str,n,len)返回字符串str 的子串,起始位置为n,长度为len
reverse(str)返回字符串反转后的结果
locate(s1,str)返回子串s1在字符串str中的起始位置

日期和时间函数

函数名称作用函数名称作用
curdate( )获取系统当前日期adddate( )执行日期的加运算
curtime( )获取系统当前时间sbudate( )执行日期的减运算
sysdate( )获取系统当前日期和时间date_format( )格式化输出日期和时间值
time_to_sec( )返回将时间转换成秒的结果

条件判断函数

函数名称作用
if(expr,v1,v2 )如果 expr 表达式为 true 返回 v1,否则返回 v2
ifnull(v1,v2)如果 v1 不为 null 返回 v1, 否则返回 v2
case expr when v1 then r1 [when v2 then r2···] [else r n] end如果 expr 值等于v1,v2等,则返回对应位置then后面的结果,否则返回 else 后的结果 r n

加密函数

函数名称作用
MD5(str)对字符串 str 进行MD5 加密
ENCODE(str,pwd_str)使用 pwd 作为密码加密字符串 str
DECODE(str,pwd_str)使用 pwd 作为密码解密字符串 str

在这里插入图片描述

6、为表和字段取别名

6.1 为表取别名

语法格式:select * from 表名 [as] 别名;
在这里插入图片描述

6.2 为字段取别名

语法格式:select 字段名 [as] 别名 [,字段名 [as] 别名,···] from 表名;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值