【瞎老弟mysql】08-数据的聚合查询

前情提要

之前已经学过了很多关于mysql的基本操作了,比如说可以实现简单的查询。但是,我们辛辛苦苦的将数据录入数据库,只能够实现简单的查询功能的话,显然不可以让人满足。本期,将学习数据的聚合查询。当然啦,首先我们应该创建一些数据。

创建数据表

create table Book(
    id int unsigned not null auto_increment,
    title varchar(50) not null,
    pub_date date,
    views int unsigned not null default(0),
    comment int unsigned not null default(0),
    primary key (id)
);

插入数据

insert into Book values
    (0, '射雕英雄传','1980-5-1',4322,534),
    (0, '天龙八部','1986-7-24',2533,140),
    (0, '笑傲江湖','1995-12-24',3223,380),
    (0, '雪山飞狐','1987-11-11',932,24),
    (0, '神雕侠侣', null, 3333, 222),
    (0, '神雕侠侣', null, 1823, 125);

 通过count统计个数

只需要在select语句中使用count(*),即可以完成统计个数。

select count(*) from Book;

如果,你想要统计每一个字段非null的个数,那么只需要分别填写上对应的字段名即可。

select count(title), count(pub_date)
    from Book;

这里面,我们注意到数据中出现了两次神雕侠侣,如果我们在统计个数的时候,不希望统计重复的个数,只希望得到不重复的数据的个数,也可以配合distinct一起使用。

select count(title) from Book;
select count(distinct title) from Book;

通过sum求和

使用sum,就可以完成对某一列的求和,注意,null值将会被排除,不会被进行求和。

select sum(views), sum(comment)
    from Book;

通过avg计算平均值

使用方法和sum相同,改为avg,即可完成求平均值的工作。

select avg(views), avg(comment)
    from Book;

通过max和min计算最大最小值

max可以得到最大值,min可以得到最小值。

select max(views), min(comment)
    from Book;

 点击查看瞎老弟mysql系列全部文章

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值