mysql几种常用的方法

一、分组函数

/*
功能;用作统计使用,又称为聚合函数或统计函数或组函数

分类:
sun求和、avg平均值、max最大值、min最小值、count计算个数

sum和avg只支持数值型
max和min支持数值型、字符型和日期型、
count支持所有类型

所有函数都忽略null
*/

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 和,
  AVG(salary) AS 平均值,
  MAX(salary) AS 最大值,
  MIN(salary) AS 最小值,
  COUNT(salary) AS 个数 
FROM
  employees ;


SELECT 
  SUM(commission_pct),
  AVG(commission_pct),
  MAX(commission_pct),
  MIN(commission_pct),
  COUNT(commission_pct) 
FROM
  employees ;
  
 #和distinct搭配实现去重运算
 SELECT SUM(DISTINCT salary),SUM(salary) FROM employees;
 
#count详细介绍
#一般用count(*)统计行数
SELECT COUNT(*) FROM employees;#显示一个表有多少行


SELECT COUNT(salary) FROM employees;

/*
MYISAM存储引擎
INNODB存储引擎
*/
/*
5、和分组函数一同查询的字段要求是group by后的字段
错误写法
SELECT AVG(salary),`department_id` FROM employees;
虽然没有报错但是这种写法是错误的因为`department_id`只显示一个数据
*/
/*
相关题;
*/
#1.查询公司员工工资的最大值,最小值,平均值,总和
SELECT 
  MAX(salary) AS 最大值,
  MIN(salary) AS 最小值,
  AVG(salary) AS 平均值,
  SUM(salary) AS 总和 
FROM
  employees ;

#2.查询员工表中的最大入职时间和最小入职时间的相差天数(DIFFRENCE )
SELECT DATEDIFF(MAX(`hiredate`),MIN(`hiredate`)) AS `DIFFRENCE` FROM employees;
#DATEDIFF函数两个参数皆为日期,第一个参数的值减去第二参数值返回的是天数。

SELECT DATEDIFF(NOW(),'1998-03-14');


#3.查询部门编号为90的员工个数
SELECT 
  COUNT(*) 
FROM
  employees 
WHERE `department_id` = 90 ;

二、IFNULL方法

MySQL IFNULL函数简介

MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数。 否则,IFNULL函数返回第二个参数。
两个参数可以是文字值或表达式。
以下说明了IFNULL函数的语法:

IFNULL(expression_1,expression_2);

如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。
IFNULL函数根据使用的上下文返回字符串或数字。。

三、concat方法

#CONCAT()函数的使用
SELECT CONCAT('a','b','c') AS 结果1;
SELECT CONCAT(first_name,last_name) AS 姓名 FROM employees;
SELECT 
  CONCAT(
    `first_name`,
    ',',
    `last_name`,
    ',',
    `email`,
    ',',
    `phone_number`,
    ',',
    IFNULL(commission_pct, 0)
  ) AS out_put 
FROM
  employees ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值