MySQL 聚合函数 和 分组查询(初级)

聚合函数用于对一组值进行计算并返回一个汇总值,使用聚合函数可以统计记录行数、计算某个字段值的总和以及这些值的最大值、最小值和平均值等。

 函数名称

功能

 sum

返回选取的某列值的总和

 max

返回选取的某列的最大值

 min

返回选取的某列的最小值

 avg

返回选取的某列的平均值

 count

返回选取的某列或记录的行数

//计算所有线路总里程数。
select sum(miles) 线路总里程数 from line;//计算公交二公司所属线路总里程数。
select sum(miles) 线路总里程数 from line where company=' 公交二公司 ';//对所有线路的总站点数进行汇总。
select sum(number) 线路总站点数 from line;
//获取所有线路里程的最大值和最小值。
select max(miles) 最长线路里程 , min(miles) 最短线路里程 from line;//查询年龄最大的公交司机的出生年月。
select min(birthday) 最年长司机生日 ,
ceil(datediff(curdate(),min(birthday))/365) 该司机年龄 from driver;

使用 group by 子句可以将数据划分到不同的组中,实现对记录的分组查询。group by 从英文字面的意义上可以理解为“根据(by)一定的规则进行分组(group)”,该子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对这若干个小区域进行统计汇总。

group by 字段列表 [having 条件表达式 ]

group by 子句通常与聚合函数同时使用,如 max()、min()、count()、sum() 和 avg()。 

 having 子句和 where 子句均用于过滤数据,两者的区别在于:where 子句对结果集进行过滤筛选,而 having 子句则对分组的结果进行筛选

group by 子句将结果集分为若干个组,使用聚合函数可以对每个组内的数据进行信息统计,有时对各个组进行汇总计算时,需要在分组之后再加上一条汇总记录,这个任务可以通过 with rollup 选项来实现。

count 和 sum 函数的区别
sum 函数是对符合条件的记录的数值列求和,count 函数的值是满足查询条件的结果(或记录)个数。count(column) 用于统计 column 列不为 null 的记录个数。
如何对查询结果进行过滤之后再分组统计:
先使用 where 子句表达式对查询结果进行过滤筛选;然后,再使用 group by 子句对 where 子句的输出进行分组统计。
having 子句的用法:
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据。having 子句的位置放在 group by 子句之后,常包含聚合函数。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql时长用什么类型_MySQL 日期时间类型怎么选?千万不要乱用!

构建数据库写程序避免不了使用日期和时间,对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 以及使用 int 来存储 unix timestamp。不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类…

PHP----练习-----新闻管理----增删改查

练习-----新闻管理 题目要求如下&#xff1a; 做法&#xff1a; 【1】建数据库 【2】封装类文件--------DBDA.class.php 1 <?php2 class DBDA3 {4 public $fuwuqi"localhost"; //服务器地址5 public $yonghuming"root";//用户名6 public …

MYSQl 连接查询

查询信息的来源如果来自多张表&#xff0c;就必须对这些表进行连接查询。连接是把不同表的记录连到一起的最普遍的方法&#xff0c;通过连接查询可将多个表作为一个表进行处理。连接查询分为内连接和外连接。交叉连接&#xff08;Cross Join&#xff09;&#xff0c;又称“笛卡…

mysql窗口函数_MySQL8.0窗口函数入门实践及总结

前言MySQL8.0之前&#xff0c;做数据排名统计等相当痛苦&#xff0c;因为没有像Oracle、SQL SERVER 、PostgreSQL等其他数据库那样的窗口函数。但随着MySQL8.0中新增了窗口函数之后&#xff0c;针对这类统计就再也不是事了&#xff0c;本文就以常用的排序实例介绍MySQL的窗口函…

MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法...

MyEclipse 打开后有时候莫名的在server窗口里抛出“Could not create the view: An unexpected exception was thrown”错误&#xff0c;解决办法&#xff1a;打开myeclipse所在的wordspace文件夹&#xff0c;在下面子文件夹 .metadata\.plugins\org.eclipse.core.runtime\.set…

Java 入门基础

程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。Java是一门面向对象编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用两个特征。Java语言作为…

mysql query cache 关闭_为什么要关闭MySQL query cache-Fun言

MySQL的query cache大部分情况下其实只是鸡肋而已&#xff0c;建议全面禁用。当然了&#xff0c;或许在你的场景下还是挺好的&#xff0c;还能发挥作用&#xff0c;那就继续使用吧&#xff0c;把本文当做参考就好。不过&#xff0c;可能有的人人为只需要把 query_cache_size 大…

Java 基础之java运算符

运算符&#xff0c;顾名思义就是用于计算的符号。按功能分为&#xff1a;赋值运算符、算术运算符、关系运算符和逻辑运算符按操作数的个数分类&#xff1a;单目运算符、双目运算符、三目运算符运算符的目&#xff1a;运算符能连接操作数的个数称为运算符的目运算符的优先级&…

直流电机调速仿真作业

本次调速仿真采用PID调节。首先要确定PID中的各项设计参数&#xff0c;仿真过程中采用临界比例度法确定了大概的Kp值。在若干次调整的过程中&#xff0c;发现加入微分环节后调整时间略有上升&#xff0c;故采用PI调节。调整参数确定为Kp75,Ki22。控制器部分的程序如下图所示。原…

mysql any 效率_关于mysql的性能优化

1.用 show status like value 查询mysql数据库性能2. 用 EXPLAIN select * from table 或 DESCRIBE select * from table 查看执行计划3.使用索引--使用 like关键字时 like %le索引不起作用&#xff0c;但 like le%索引可以起作用-- 使用关键字or时要求两个字段必须同为索引…

存储指针

- (void)addObserver:(__weak NSObject *)observer forContext:(void *)context { NSValue *valueContext [NSValue valueWithPointer:context]; dispatch_sync(self.queue, ^{ [self.trampolines setObject:observer forKey:valueContext]; }); }转载于:https://www.cnblogs.…

Java运算符优先级和表达式及数据类型转换

计算机程序在处理数据时会进行大量的计算&#xff0c;而数据的运算则需要借助运算符和表达式来完成。表达式是指由操作数和运算符组成的用于完成某种运算功能的语句子表达式Y X * ( Z 10 ) 表达式 其中Y、X、Z、10 称为操作数&#xff0c;、*、 称为运算符。 在…

Bugtags 2016-06-16 更新内容

增加版本管理功能 随着版本的增多&#xff0c;有些历史的版本不再使用&#xff0c;可将这些版本隐藏起来。操作步骤如下&#xff1a;点击设置 - 版本管理&#xff08;管理员可见&#xff09;- 取消勾选需要隐藏的版本即可。隐藏版本后&#xff0c;版本筛选中将不会显示&#xf…

MYSQL描述选课系统的问题与_mysql+php实现选课系统中遇到的问题及解决方法

首先是一些mysql 的基本命令删除表格 drop ;约束条件 :primary key 设置为主键unique 值唯一not null 非空foreighn key(key_name) references(key_name) 设置外键 default 设置默认值auto_increment 一般用于设置编号&#xff0c;随着…

Java 基础(条件结构)

Java 程序流程控制结构 顺序结构: 条件结构: 循环结构: 单分支if结构 选择 结构又称为分支结构 。 当 程序执行到分支判断的语句时&#xff0c;首先判断条件&#xff0c;然后根据条件表达式的结果选择相应的语句执行 。 分支 结构包括单分支、双分支和多分支三种形式。 语法…

直通车运营系统优化之账户结构设置

国庆期间&#xff0c;小2哥我好好的享受了好几天的日子&#xff0c;说实话&#xff0c;自从做了淘宝&#xff0c;就很少像这期间一样好好的享受了这段日子 。做淘宝有时候真的很苦逼&#xff0c;每天的工作时间比一个打工的还长&#xff0c;熬夜到凌晨才睡也是家常便饭&#xf…

mysql批量导入数据脚本_MySQL数据库批量导入脚本

//File: query.php//描述: 数据库批量导入脚本//功能: 可进行单行和批量插入.//作者: SworDs//QQ: 78623269//日期: 2005-1-21//其他:好老了啊&#xff0c;刚学PHP写的&#xff0c;连抄带查&#xff01;2006.5.19从仓库里翻出来,。。。error_reporting(7);if ( function_exists…

原生JS封装ajax方法

http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用&#xff0c;但是假如某天我们的项目不能引入jquery或项目需求很简单&#xff0c;没有很多交互功能&#xff0c;只需要ajax&#xff0c;这时引入jquery库会造成资源浪费&#xff0c;也会显得页面臃肿。这…

mysql 从库 问题_一篇文章帮你解决Mysql 中主从库不同步的问题

写这篇文章是因为之前有一次删库操作&#xff0c;需要进行批量删除数据&#xff0c;当时没有控制好删除速度&#xff0c;导致产生了主从延迟&#xff0c;出现了一点小事故。今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。坐好了&#xff0c;准备发车&a…

深度学习代码练习

代码下载地址&#xff1a;https://github.com/daijifeng001/R-FCN 对应论文&#xff1a;Object Detection via Region-based Fully Convolutional Networks 1、代码里面给的数据库下载链接失效&#xff0c;需要去代码下载主页最下方给定的资源区下载。 2、按照要求一步一步运行…