##进阶函数

/*

调用语法:select函数名(实参列表);

分组函数和单行函数的区别:

单行函数:将一个数据进行处理,返回一个值

分组函数:将虚拟表看做一个组,处理一组数据,返回一个值

常见的分组函数:

sum(字段):求该字段的所有值的和

avg(字段):求该字段的平均值

max(字段):求最大值

min(字段):求最小值

count(字段):计算该字段中的非空值的个数

特点:

1.分组函数可以搭配筛选条件使用

2.分组函数的参数可以作为字段或者表达式

3.分组函数都忽略null值

4.分组函数都支持的类型:

max、min、count支持任意类型

sum、avg仅仅支持数值类型

5.count的使用

count(*)或count(常量值):统计结果集中的行数

count(distinct字段):实现去重后的统计

6.和分组函数一同查询的字段不能是任意字段,可以是group by后面的字段

问题:

查询员工平均工资和员工号

select avg(salary),employee_id from employees

*/

#1.简单的查询

SELECT SUM(salary) 和,AVG(salary) 平均值, MAX(salary)最高工资,MIN(salary) 最低工资,COUNT(salary) 个数

FROM employees;

#添加筛选条件

# 案例:查询有奖金的员工的平均工资

SELECT AVG(salary) 平均工资

FROM employees

WHERE commission_pct IS NOT NULL;

##3.分组函数的参数可以是表达式

##案例2:查询年薪的平均值

SELECT MAX(salary*12*(1+IFNULL(commission_pct)))

FROM employees;

##4.分组函数的参数类型可以是任意类型吗?数值型?字符型?日期行?

/*

sum和avg只支持数值型做参数

max、min、count可以支持任意类型做参数

*/#用于测试

SELECT SUM(last_name),AVG(last_name) FROM employees;

SELECT MAX(last_name),MIN(last_name),COUNT(last_name) FROM employees;

SELECT SUM(hiredate),AVG(hiredate)FROM employees;

SELECT MAX(hiredate),MIN(hirdate),COUNT(hirdate) FROM employees;

##5.分组函数是否都忽略null?

/*

都忽略

*/

SELECT SUM(commission_pct),AVG(commission_pct),SUM(commission_pct)/35,SUM(commission_pct)/107 FROM employees;

SELECT MAX(commission_pct),MIN(commission_pct) FROM employees;

##6.count

/**

count(*):统计结果集中的行数【推荐使用】

count(字段):统计该字段中非空值的个数

count(1):统计结果集合中的行数*/

SELECT COUNT(*) FROM employees WHERE department_id>100;

SELECT COUNT(1) FROM employees WHERE department_id>100;

SELECT COUNT(DISTINCT department_id) FROM employees;

mysql中有没有单行函数_MySQL之函数(单行函数、分组函数)相关推荐

  1. mysql 占比函数_MySQL中你必须了解的函数

    在学习MySQL的时候你会发现,它有非常多的函数,在学习的时候没有侧重.小编刚开始学习的时候也会有这个感觉.不过,经过一段时间的学习之后,小编发现尽管函数有很多,但是常用的却只有那几个.今天小编就把常 ...

  2. oracle和MySQL的日期函数_mysql与oracle的日期/时间函数小结

    前言 本文的日期/时间全部格式化为"2016-01-01 01:01:01"形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时 ...

  3. mysql json函数_Mysql里的JSON系列操作函数

    新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询.修改等操作,下面就实际体验一下 创建带有 JSON 字段的表 比如一 ...

  4. mysql diff函数_MYSQL中 的datediff、timestampdiff函数

    对mysql中日期范围搜索的大致有三种方式: 1.between and语句: 2.datediff函数: 3.timestampdiff函数: 下面就具体说明下这三种方式: 第一种: between ...

  5. mysql iif函数_MySQL学习笔记七:常用函数

    一.字符串函数 1.1.CONCAT(str1,str2,...) 作用:将传入的字符连接成一个字符串,任何字符与null进行连接结果都是null. SELECT CONCAT(`name`,'-', ...

  6. mysql情况数据库表数据函数_mysql数据库表单查询和函数的使用

    单表查询 准备一张雇员表company.employee 雇员编号 emp_id   int 雇员姓名 emp_name  varchar(30) 雇员性别 sex  enum 雇用日期 hire_d ...

  7. mysql中有哪些数值型函数_mysql数值型函数汇总

    1.abs(n) 返回n的绝对值 #获取5和-10的绝对值SELECT ABS(5),ABS(-10); 2.sign(n)  返回参数的符号(为-1.0或1) mysql> select si ...

  8. MySQL中有exists关键字吗_Mysql中EXISTS关键字用法、总结

    在做教务系统的时候,一个学生(alumni_info)有多个教育经历(alumni_education),使用的数据库是mysql,之前使用左链接查询的,发现数据量才只有几万条时,查询就很慢了,早上想 ...

  9. 数据库MySQL常见函数(含分组函数与复杂分组查询)

    文章目录 一.常见函数介绍 1. 概念: 2.好处: 3.调用格式: 4.分类: 二.单行函数 1.字符函数: 2.数学函数: 3.日期函数 4.其他函数 5.流程控制函数 二.分组函数 1.概念 2 ...

最新文章

  1. python 特征选择 绘图 + mine
  2. Teams Bot开发系列:Teams的Activity处理
  3. WakaTime 记录你的时间(Moana 自动同步信息客户端)
  4. php strtofloat,Delphi6函数大全(3)
  5. 【转】Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
  6. telnet的基本配置(cisco、H3C、huawei 三个例子)
  7. php 学习笔记之日期时间操作一箩筐
  8. Python基础-计算时间差,时间和,精确到秒,微秒,毫秒
  9. 生产排程系统_【PSI系统】在生产中进行更智慧的详细计划:计划排程工具APS是否值得企业投资?...
  10. 数据库范式(1 2 3 BCNF范式)详解
  11. 利用爬虫刷CSDN博客访问量
  12. FFT专题:IFFT后信号如何重建
  13. 水牛城大学本科的计算机专业,PGA学生系列访谈(三):毕业生访谈之我在水牛城的大学时光...
  14. 多电脑共享键鼠,传输数据,共享剪贴板
  15. 真c++ 从二叉树到红黑树(2)之二叉树基类
  16. 搞透并发编程---可见性
  17. Ubuntu16.04系统安装谷歌浏览器(Google chorm)与有道云词典
  18. 诚之和:44页报告还原“美国散户复仇记”!揭秘黑池交易是如何割韭
  19. 【第二十二讲】获取参数名
  20. 百度 阿里 腾讯 BAT笔试题目

热门文章

  1. java多线程同时运行_Java实现的两个线程同时运行案例
  2. 【ArcGIS Pro微课1000例】0002:ArcGIS Pro 2.5二三维联动显示
  3. 数学的意蕴与价值(建议收藏)
  4. Tree的前序序列化
  5. Android之React Native 中组件的生命周期
  6. 「零门槛多语言 Python/C/C# 通用思想学习系列」第一篇:经典HelloWorld
  7. php Trait 基础应用讲解
  8. javafx 推箱子小游戏object类_突破LeetCode Hard模式之《推箱子》
  9. html5一年四季的变化,家乡四季的变化作文(精选5篇)
  10. html点击关闭代码,怎样开放和关闭html代码?