05_MySQL常见函数_分组函数
# 分组函数
/*
功能: 统计,又称为聚合函数,统计函数,组函数
      传入一组值,统计后得到一个值
分类:
      sum 求和,avg 平均值,max 最大值,min 最小值,count 计算个数
特点:
	1. sum,avg处理数值型
    max,min,count处理任何类型
2. 是否忽略null值
	   分组函数都忽略null值,不参与统计
3. 可以和distinct搭配,先去重再计算
4、count函数的详细介绍
		count(x)     x字段的非null行数
		count(*)     表的总行数(一行中只要有1个字段不为null, 则计入)
		count(常量)  表的总行数(相当于表中增加1列,值为给定的常量
统计效率:
		存储引擎为myisam, count(*)效率最好,有1个内部计数器直接保存了count(*)
		存储引擎为innodb, count(*)和count(1)类似,但比count('常量字段')效率高(要判断null)
5、和分组函数一同查询的字段有限制(返回的逻辑表,结构要规则)
	   要求是group by后的字段(逻辑表要规则)
*/
# 1、简单的使用
SELECT SUM(salary) FROM employees;
SELECT AVG(salary) FROM employees;
SELECT MAX(salary) FROM employees;
SELECT MIN(salary) FROM employees;
SELECT COUNT(salary) FROM employees;
SELECT SUM(salary) AS 和, TRUNCATE(AVG(salary),4) 平均, MAX(salary) 最大
FROM employees;
# 2、参数支持哪些类型
# sum,avg: 数值类型才有意义
# max,min: 数值类型,字符型(字典顺序), 日期型
# count:   数值,字符,日期型(非null的个数)
SELECT MAX(hiredate),MIN(hiredate) FROM employees;
SELECT COUNT(last_name), COUNT(commission_pct) FROM employees;  # 107,35
# 3、是否忽略null值
# 忽略null值
SELECT SUM(commission_pct), AVG(commission_pct)FROM employees;
# 忽略null值
SELECT MAX(commission_pct), MIN(commission_pct) FROM employees;
# 4、和distinct搭配(去重统计)
SELECT SUM(DISTINCT salary), SUM(salary) FROM employees;      # 先去重再求和
SELECT COUNT(DISTINCT salary), COUNT(salary) FROM employees; # 先去重再计数
SELECT MAX(DISTINCT salary), MIN(DISTINCT salary) FROM employees; # 先去重
# 5、count的详细介绍
SELECT COUNT(salary) FROM employees; # salary字段的非null行数
SELECT COUNT(*) FROM employees; # count(*),表的总行数(一行中只要有1个字段不为null, 则计入)
SELECT COUNT(1) FROM employees; # 等价于给表增加了1列1, 统计该列的行数(表的实际行数)
# 6、和分组函数一同查询的字段有限制
# 逻辑表的结构也要规则(不能1个字段x行,1个字段y行)
# 错误实例
SELECT AVG(salary), employee_id FROM employees;  # avg只有1行,employee_id有107行,结果肯定有问题
05_MySQL常见函数_分组函数的更多相关文章
- 04_MySQL常见函数_单行函数
		
#单行函数细分1.字符函数2.数学函数3.日期函数4.其他函数5.流程控制函数 #单行函数 - 字符函数#一.字符函数#1. length 获取参数的字节长度SELECT LENGTH('john') ...
 - mysql基础教程(二)-----分组函数、多表查询、常见函数
		
分组函数 什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值. 组函数类型 • AVG() • COUNT() • MAX() • MIN() • SUM() 组函数语法 AVG(平均值) ...
 - mysql 字符串函数、分组函数
		
字符串函数 1.concat 函数 drop table test;create table test(id int(4), name varchar(10), sex char(2));insert ...
 - DQL---条件查询、单行函数、多行函数、分组函数、数据类型
		
一.DQL 1.基本规则: (1)对于日期型数据,做 *,/ 运算不合法,可以进行 +, - 运算.比如给日期加一天或减一个月,结果仍为一个日期.两个日期间只能为减法,返回两个日期相差的天数,两个日期 ...
 - (四)MySQL条件查询(通配符、模糊查询)、排序查询、分组查询(单行、分组函数)
		
一.条件查询 1.含义:前面学的基础查询可以查询一个或多个字段,如果需要的数据仅仅是其中的某一行或多行就用到了条件查询. 2.语法:(序号表示语句执行顺序) SELECT 字段名 ③ FROM 表名 ...
 - oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
		
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
 - Oracle_SQL函数-分组函数
		
分组函数 什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值 组函数类型:主要有6种 AVG - 平均 COUNT - 计数 MAX - 最大 MIN - 最小 SUM - 求和 STDD ...
 - oracle 10g 学习之多表查询、分组函数(6)
		
笛卡尔集 l 笛卡尔集会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 l 为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件. 自连接 select m.las ...
 - 常用分组函数count-avg-sum-max-min
		
分组函数也称多行函数,用于对一组数据进行运算,针对一组数据(取自于多行记录的相同字段)只返回一个结果,例如计算公司全体员工的工资总和.最高工资.最低工资.各部门的员工平均工资(按部门分组)等.由于分组 ...
 
随机推荐
- python基础-第五篇-5.3装饰器
			
小白发呆的看着窗外,同事们陆陆续续的地来到公司,想起算法,小白就飘飘然了.突然后面传来一声呼唤,原来是小刘! 小刘:不好意思啊!堵车了,就来晚了点,不耽误你的时间,咱们就开启的今天的培训内容吧! 小白 ...
 - Django 框架搭建入门案例
			
1. 什么是 web 框架 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端; # 示例: import socket def handle_re ...
 - Cassandra go语言client使用
			
关于什么是cassandra,可以参考: http://blog.csdn.net/zyz511919766/article/details/38683219 http://cassandra.apa ...
 - 16.Update Methods-官方文档摘录
			
这里没什么好说的,直接贴文了 MongoDB provides the following methods for updating documents in a collection: db.col ...
 - windbg遍历进程页表查看内存
			
2016-12-09 近期想查看下系统分配了的页的页表项的标志位,但是发现资料较少,所以还是记录下,希望可以对某些朋友有所帮助! 系统:win7 32位虚拟机 平台:KVM虚拟化平台 win7 32位 ...
 - VS安装程序制作之MSI/EXE
			
MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据.MSI文件将程序的组成文件与功能关联起来 ...
 - KDDCUP CTR预测比赛总结
			
赛题与数据介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-thro ...
 - Windows server 2003 伪静态配置方法
			
Windows server 2003 伪静态配置方法 先我们下载Rewrite伪静态组件到服务器,然后解压到D:\Rewrite下,解压后如下图: 提示:ReWrite组件所在目录要有网站所有者 ...
 - 查看电脑已经连过的wifi密码
			
用下面两条命令可以完成 查看当前系统已经保存的网络 netsh wlan show profiles 查看wifi指定密码 netsh wlan show profiles name="wi ...
 - PL/SQL编程-介绍
			
pl/sql是一种编程语言,就像java一样java叫做高级编程语言 什么是编程,编程说到底就是对于数据的操作,数据包括数据库存储的和自己定义的变量常量等等数据,对他们进行逻辑化的处理 以实现特定的功 ...