(第五章)统计函数分组

统计函数与分组
函数名意思功能
count计数计算一张表的记录个数/计算一列中值的个数
min最小求一列值的最大值
max最大求一列值的最大值
sum总和计算一列中值的总和【数值型】
avg平均值计算一列中值的平均值【数值型】
group by根据…分组
order by根据…排序
having

查询语句

select founction(col_name)
from table_name
where condition
group by col_name
having condition
order by col_name1[asc][desc],
col_name2[asc][desc],
col_nameN[asc][desc];
某个函数名
来自那个表
满足的基本条件,(在)…情况下
分组的条件
having与group by结合起来使用
根据…排序
asc升序
desc降序
不写,默认升序

t_reader表里面的数据

编号
reader_id
名字
reader_name
性别
reader_sex
生日
reader_birhday
还书总量
reader_borrowtotal
1001小一2001/2/11
1002小二2002/2/22
1003小三2003/2/33
1004小四2004/2/44
1005小五2005/2/55

获取方法

curdate():显示当前日期
year(reader_birhday):获取日期类型字段里的年
avg(year(curdate())-year(reader_birhday)):平均年龄
max(year(curdate())-year(reader_birhday)):最大年龄
min(year(curdate())-year(reader_birhday)):最小年龄
count(reader_id):得到读者数量
实例操作
select avg(year(curdate())-year(reader_birhday))as 平均年龄,
min(year(curdate()-year(reader_birhday)) as 最小年龄,
max(year(curdate()-year(reader_birhday)) as 最大年龄,
count(reader_id) as 读者人数
from t_reader;

输出结果

平均年龄最小年龄最大年龄读者数量
1816215
操作
分别得出根据男女的平均年龄,并按降序排列
order by avg(year(curdate)-year(reader_birhday) desc:降序排列
order by 1:指的是select语句后的第一个字段
完整实例操作
select avg(year(curdate()-year(reader_birhday)) as 平均年龄,reader_sex
from t_reader
group by reader_sex
order by 1 desc;

结果

平均年龄reader_sex
19.5
17

实例
t_return_record还书记录表

还书编号
return_id
借书编号
borrow_id
还书日期
return_date
书籍编号
isbn
借书日期
borrow_date
10110012021/5/2112021/5/1
10210022021/5/3222021/5/1
10310032021/5/4332021/5/1
10410042021/5/5442021/5/1
10510052021/5/2552021/5/1
10610062021/5/3662021/5/1

显示还书数量大于2的记录,并且按还书的数量升序排列

count(*)>=2借书大于2的
group by day(return_date)每天
gcount(*) asc升序【可不写,默认升序】
实例语句为 [注意数值不要引号]
select count(* ) as还书总量,return_date
from t_return_record
group by day(return_date)
having count(*)>=2
order by 1;

输出

还书总量return_date
22021/5/2
22021/5/3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值