如果我们要统计一张表的数据量,例如,想查询students表一共有多少条记录,难道必须用SELECT * FROM students查出来然后再数一数有多少行吗?

这个方法当然可以,但是比较弱智。对于统计总数、平均数这类计算,SQL提供了专门的聚合函数,使用聚合函数进行查询,就是聚合查询,它可以快速获得结果。

仍然以查询students表一共有多少条记录为例,我们可以使用SQL内置的COUNT()函数查询:

COUNT(*)表示查询所有列的行数,要注意聚合的计算结果虽然是一个数字,但查询的结果仍然是一个二维表,只是这个二维表只有一行一列,并且列名是COUNT(*)。

通常,使用聚合查询时,我们应该给列名设置一个别名,便于处理结果:

分组

如果我们要统计一班的学生数量,我们知道,可以用SELECT COUNT(*) num FROM students WHERE class_id = 1;。如果要继续统计二班、三班的学生数量,难道必须不断修改WHERE条件来执行SELECT语句吗?

对于聚合查询,SQL还提供了“分组聚合”的功能。我们观察下面的聚合查询:

执行这个查询,COUNT()的结果不再是一个,而是3个,这是因为,GROUP BY子句指定了按class_id分组,因此,执行该SELECT语句时,会把class_id相同的列先分组,再分别计算,因此,得到了3行结果。

但是这3行结果分别是哪三个班级的,不好看出来,所以我们可以把class_id列也放入结果集中:

小结

使用SQL提供的聚合查询,我们可以方便地计算总数、合计值、平均值、最大值和最小值;

聚合查询也可以添加WHERE条件。

sql查询id最大的一行_mysql-聚合查询相关推荐

  1. mysql的聚合查询_MySql聚合查询

    SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作. 集合操作主要包括并操作UNION.交操作INTERSECT.差操作EXCEPT. 注意,参加集合操作的各查询结果 ...

  2. mysql慢查询日志分析工具比较_MySQL慢查询日志总结 日志分析工具mysqldumpslow

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  3. Elasticsearch 入门(1):基本概念,安装教程,索引的创建,查询,删除,主键查询,修改,添加,聚合查询,条件查询

    Elasticsearch 入门 基本概念 The Elastic Stack, 包括 Elasticsearch.Kibana.Beats 和 Logstash(也称为 ELK Stack).能够安 ...

  4. mysql查询只能是等式连接_mysql连接查询

    14.1 实验目的 (1)掌握多表连接查询的常用方法 (2)了解外连接查询的方法 14.2 预备知识 1.多表连接查询的意义 很多情况下,我们要查询的结果无法从一张表中得到.例如要想知道"参 ...

  5. 数据库查询张三的MYSQL成绩_MySQL数据库查询练习题

    练习题目 查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 1.1 查询同时存在" 01 "课程和" 02 &q ...

  6. 31.模型中的一些查询骚操作——模型中的聚合查询,Q查询,F查询,分组查询;

    模型中的一些查询骚操作: (1)聚合查询:aggregate()是QuerySet 的一个终止子句,它返回一个包含一些键值对的字典 from movie.models import User from ...

  7. mysql 查询一个月的时间_mysql日期查询sql语句总结(查询一天,查询一周,查询一个月的数据)...

    我的日期 首先我们获取到的日期格式是这样的:2009-2-12或者2009-3-3或者2009-10-12,我们在组合sql语句的时候可以这样:(分了三个例子) 代码如下 @1select * fro ...

  8. MySQL查询时条件的顺序_mysql中查询条件的先后顺序问题?

    听一个讲座,说查询条件的顺序影响查询速度,比如一个先运行一个高门槛的条件,后低门槛,运行速度会相对快,请问有这种事么? 那么我在写thinkphp的查询语句的时候,是不是应该把高门槛的放在前面查询? ...

  9. mysql在查询结果中添加数据_MySQL将查询结果插入到数据表中

    转自Mysql教程:http://www.baike369.com/content/?id=5582 MySQL将查询结果插入到数据表中 INSERT语句还可以将SELECT语句查询出来的数据插入到另 ...

最新文章

  1. python实现 多叉树 寻找最短路径
  2. SpringCloud Ribbon(二)之自定义负载均衡策略IRule
  3. 修改dts后重编译_「正点原子FPGA连载」第二十章另一种方式编译ZYNQ镜像
  4. 计算机桌面图标的排列,如何进行桌面图标排列 让你的桌面一秒变酷炫【图文教程】...
  5. 中imshow函数用法_5 OpenCV几个函数操作实例
  6. 什么?你的电商网页不够时尚?看这里
  7. r语言 list添加_R语言里面双层list变成长形数据框
  8. 微软已停止对Vista RTM(SP0)的服务支持
  9. 丰田汽车顶级供应商 Denso 疑遭勒索攻击,被威胁泄露商业机密
  10. LAMP 3.1 mysql的root密码重置
  11. JAVA图书管理系统详细代码
  12. 阿里云对象存储OSS是怎么收费的?
  13. python抓取汇率_09 使用Python爬取中国银行网站选择汇率最坑的一天
  14. 本科计算机专业考研集成电路,集成电路工程专业考研院校排名
  15. 我国新冠疫苗首批预计接种5000万人次,2月15日前完成
  16. IT人员如何成为一名云计算工程师
  17. 安卓多人聊天室服务端
  18. Pr中有音频轨道,但是播放不了声音
  19. UIView的frame与bounds
  20. SpringMVC控制器内请求转发关键字forward无效原因

热门文章

  1. python读取doc文件 语义识别_我可以让socket.makefile具有与常规文件相同的读取语义吗?...
  2. python九九乘法表教程_python教程九九乘法表
  3. 喜庆红色主题年货节电商首页模板|电商活动中的压轴节目
  4. 不规则炫彩创意渐变海报设计模板素材|带来十足的时尚感
  5. 完美摄影作品展,它可以是你作品的风格
  6. UI下拉模板|提升下拉列表菜单体验设计的10技巧
  7. shell题库选择题_shell 练习题
  8. C++多线程之使用Mutex和Critical_Section(转载)
  9. QDateTimeEdit使用
  10. OpenShift ocp packages