学习数据库的第三天(排序查询、分组查询、常见函数)

排序查询

select 查询列表
from 表
【where 筛选条件】
order by 排序列表 【asc(升序)|desc(降序)】

特点:
asc代表升序,desc代表降序,默认是升序
order by子句中可以支持单个字段、多个字段、表达式、函数、别名
order by子句一般放在循环的最后,limit子句除外

常见函数

概念:

将一组逻辑语句封装在方法体中,对外暴露方法名

优点:

隐藏了实现细节、提高代码的重用性

调用:

select 函数名(实参列表) 【from 表】

分类

单行函数:如concat、length、ifnull等;
分组函数,主要做统计使用,又称为统计函数、聚合函数、组函数

单行函数

字符函数:

length:获取参数值的字节个数
concat:拼接字符串
upper、lower:大小写转换
substr\substring:截取字符(索引从1开始)
instr:返回子串第一次出现的索引,如果找不到返回0
trim:默认去除前后的空格
lpad:用指定的字符实现左填充指定长度,若本身字符串小于指定长度,则右截断
rpad:用指定的字符实现右填充指定长度
replace:替换

数学函数

round:四舍五入
ceil:向上取整,返回大于等于该参数的最小整数
floor:向下取整,返回小于等于该参数的最大整数
truncate:截断
mod:取余,符号与被除数相同

日期函数

now:返回当前系统日期加时间
curdate:返回当前系统日期,不包含时间
curtime:返回当前的时间,不包含日期
year:年
month:月
monthname:月的英文
day:日
hour:时间
minute:分钟
second:秒
str_to_date:将字符通过指定的格式转换为日期
格式符
date_format:将日期转换为字符

其他函数

version:查看版本号
database:查看当前的数据库
user:查看当前的用户

流程控制函数

if函数:
if else的效果
第一个参数表示条件,如果返回true则输出第二个参数,否则输出第三个参数
case函数:
switch case的效果
格式:
case 要判断的字段或表达式
when 常量1 then 要显示的值1【或语句1;】
when 常量2 then 要显示的值2【或语句2;】

else 要显示的值n【或语句n;】
end
多重if的效果
case
when 条件1 then 要显示的值1【或语句1;】
when 条件2 then 要显示的值2【或语句2;】

else 要显示的值n【或语句n;】
end

分组函数

功能:

用作统计使用,又称为聚合函数或统计函数或组函数

分类:

sum:求和
avg:求平均值
max:求最大值
min:求最小值
count:计算个数

sum、avg一般用于处理数值型
max、min、count可以处理任何类型
以上分组函数都忽略null值
可以和distinct使用
一般用count(*)统计行数
和分组函数一同查询的字段要求是group by后的字段
datediff:查询相差天数

分组查询

select 分组函数,列(要求出现在group by 后面)
from 表
【where 筛选条件】
group by 分组的列表
【order by 子句】

注意:

查询列表必须是分组函数和group by 后出现的字段

特点:

分组查询中的筛选条件分为两类

数据源位置关键字
分组前筛选原始表group by子句前面where
分组后筛选分组后的结果集group by子句后面:having

分组函数做条件肯定是放在having子句中
group by 子句支持单个字段分组,多个字段分组,表达式,函数
也可以添加排序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值