南京seo排名优化,网站怎么做代码优化,廊坊网站推广外包,互联网挣钱好项目#1.分组函数 功能#xff1a;用作统计使用#xff0c;又称聚合函数#xff0c;统计函数#xff0c;组函数 分类: sum :求和#xff0c;avg 平均值#xff0c;max最大值#xff0c;min最小值#xff0c;count计算个数 特点: sum, avg 一般用于处理数值型 max ,min ,coun…#1.分组函数 功能用作统计使用又称聚合函数统计函数组函数 分类: sum :求和avg 平均值max最大值min最小值count计算个数 特点: sum, avg 一般用于处理数值型 max ,min ,count 可以处理任何类型 是否忽略Null count: MYISAM 存储引擎下,COUNT() 的效率高 INNODB 存储引擎下,COUNT()和 COUNT(1)的效率差不多比COUNT(字段)要高一些
1.简单的使用
SELECT SUM(salary) FROM employees;
SELECT AVG(salary) FROM employees;
SELECT MIN(salary) FROM employees;
SELECT MAX(salary) FROM employees;
SELECT COMMIT(salary) FROM employees;
SELECT SUM(salary) 和AVG(salary) 平均MAX(salary) 最大MIN(salary) 最小 FROM employees;#1.count 函数的详细介绍
//count:
//MYISAM 存储引擎下,COUNT() 的效率高
//INNODB 存储引擎下,COUNT()和 COUNT(1)的效率差不多比COUNT(字段)要高一些
SELECT COUNT(salary) FROM employees;
SELECT COUNT(*) FROM employees;
SELECT COUNT(1) FROM employees;#和分组函数一同查询的字段有限制
#案例1.查询公司员工的工资最大值最小值平均值总和
SELECT MAX(salary) mx_sal,MIN(salary) mi_sal,AVG(salary) ag_sal,SUM(salary) sm_sal FROM employees;
#案列2. 查询员工表中的最大入职时间和最小入职时间的相差天数
SELECT DATEDIFF(MAX(hiredate),MIN(hiredate)) DIFFRENCE FROM employees;
#案例3 查询部门编号为90的员工个数
SELECT COUNT(*) FROM employees WHERE department_id 90;分组数据分组查询 #GROUP BY 字句语法 可以使用GROUP BY子句将表中的数据分成若干组 语法: SELECT 分组函数列要求出现在grounp by的后面 FROM 表 【where 筛选条件】 grounp by 分组的列表 【order by 子句】 ps: 查询列表必须特殊要求是分组函数和group by后出现的字段
#案列1:查询每个部门的平均工资
SELECT MAX(salary),job_id
FROM employees
GROUP BY job_id;
#案列2: 查询每个工种的最高工资
SELECT MAX(salary),job_id
FROM employees;
GROUP BY job_id;#案列3 查询每个位置上的部门个数
SELECT COUNT(*),location_id
FROM departments
GROUP BY location_id;#添筛选条件
#案例1:查询邮箱中包含a字符的每个部门的平均工资
SELECT AVG(salary),department_id
FROM employees;
WHERE email LIKE %a%
GROUP BY department_id;
#案例2 查寻有奖金的每个领导手下员工的最高工资
SELECT MAX(salary),manager_id
FROM employees;
WHERE commission_pct IS NOT NULL
GROUP BY manager_id;
#案例3 查询那个部门的员工个数2#1.查询每个部门的员工个数
SELECT COUNT(*),department_id
FROM employees;
GROUP BY department_id;
#2.根据1的结果进行帅选查询那个部门的员工个数2
SELECT COUNT(*),department_id
FROM employees;
GROUP BY department_id
HAVING COUNT(*)2;
#案例4查询每个工种有奖金的员工的最高工资12000的工种编号和最高工资
# 1.查询每个工种有奖金的员工的最高工资
SELECT MAX(salary),job_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id;
# 2.根据1结果继续帅选最高工资12000
SELECT MAX(salary),job_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id
HAVING MAX(salary)12000;