精华内容
下载资源
问答
  • 目前关系数据库有6范式, 一般情况下, 只满足第三范式即可 第一范式:原子性 第一范式是数据库的基本要求, 不满足这一点就不是关系数据库 数据表的每一列都是不可分割的基本数据项, 同一列中不能多 个值, ...

    聚合函数

    什么是聚合函数

    • 聚合函数在数据的查询分析中, 应用十分广泛。 聚合函数可以对数 据求和、 求最大值和最小值、 求平均值等等。
    • 求公司员工的平均月收入是多少?
    SELECT AVG (sal+IFNULL ( comm, 0) )FROM t_emp;
    

    SUM函数

    • SUM函数用于求和, 只能用于数字类型, 字符类型的统计结果为0 , 日期类型统计结果是毫秒数相加。
    SELECTSUM(ename) FROM t_emp;
    SELECT SUM ( sal) FROM t_emp
    WHERE deptno IN( 10,20);
    
    • SUM函数求和会排除NULL值
    SELECTSUM (comm) FROM t_emp ;
    

    MAX函数

    • MAX函数用于获得非空值的最大值。
    SELECT MAX (comm) FROM t_emp;
    
    • 问题1: 查询10和20部门中, 月收入最高的员工?
    SELECT MAX( sal+IFNULL (comm, 0)) FROM t_emp
    WHEREdeptno IN ( 10,20) ;
    
    • 问题2: 查询员工名字最长的是几个字符?
    SELECT MAX(LENGTH(ename) ) FROM t_emp;
    

    AVG函数

    • AVG函数用于获得非空值的平均值, 非数字数据统计结果为0
    SELECT AVG (sal+工FNULL (comm, 0))FROM t_emp;
    SELECT AVG (ename) FROM t_emp;
    

    COUNT函数

    • COUNT(*)用于获得包含空值的记录数, COUNT(列名)用于获得包 含非空值的记录数。
    SELECT COUNT(* )FROM t_emp;
    SELECT COUNT ( comm) FROM t_emp;
    
    • 查询10和20部门中, 底薪超过2000元并且工龄超过15年的员工人数?
    SELECT COUNT (*)FROM t_emp
    WHERE deptno IN ( 10,20) AND sal>=2000
    AND DATEDIFF (NOW ( ) , hiredate)/365>=15;
    
    • 查询1985年以后入职的员工, 底薪超过公司平均底薪的员工数量?
    SELECT COUNT(*)FROM t_empwHERE hiredate>="1985-01-01"AND sal>AVG ( sal) ;
    
    展开全文
  • 聚合函数(都是针对字段操作) 聚合是缩减一系列输入值的表达式,例如缩减为单个值。 Select * frombiao 1、--求平均分AVG:只能对数字类型的操作,返回一个值(返回非null值的平均值) SelectAVG(age) frombiao...

    聚合函数(都是针对字段操作)

    聚合是缩减一系列输入值的表达式,例如缩减为单个值。

    Select * from biao

    1、--求平均分AVG:只能对数字类型的操作,返回一个值(返回非null值的平均值)

    Select AVG(age) from biao--执行后没有列名

    Select AVG(age) as nianing from biao---执行后有列名,加as.

    --放在select...from之间的一定是列名。

    --as(...)里面可以起别名

    --加条件用where:

    例:Select AVG(yuwen) as 语文平均 from biao where banji=‘1班’

    2、--求总数COUNT,只有2种要么count(*),要么(distinct)去重。(返回包含null值和重复值的聚合的大小)

    1)Select COUNT(*) from  biao        count(*)查询表所有

    Select COUNT(*) from biao where name like‘王%’

    2)Select COUNT(distinct banji) from biao

    3、--求最大值MAX  ()+字段(返回非null值的最大值)

    Select MAX(yuwen) as... (+别名) 

    from biao 

    where banji=’1班’

    4、--求最小值MIN()+字段(返回非null值的最小值)

    Select MIN(yuwen) as...(+别名) 

    from biao 

    where banji=’2班’

    5、--求总和SUM(返回非null 值的总和)

    Select SUM(yuwen) from biao

    Select SUM(yuwen) 

    from biao 

    where....

    6、组合使用聚合函数(以上这些聚合函数,都是返回一行一列数值)

    select AVG(age) as 平均年龄,COUNT(*) as 人数 from biao where banji='1班'

    以上5种是常用的聚合函数(重点记忆),聚合函数都包含 all(所有)和distinct(去重),什么都不写,默认是all;

    除此之外,聚合函数还包括COUNT-BIG,CHECKSUM等13种。

    例:

    7、--分组group by(等同于聚合函数里的grouping),针对某一列操作。可以组合上面学的聚合函数

    不同于聚合函数的是,聚合函数只能显示一个值,而分组显示一组值(每一组)。

    select banji from biao group by banji

    --按照要求,先分组再结合聚合函数操作

    select banji,AVG(yuwen) 

    from biao 

    group by banji

    --分组也可以加条件where

    Select nianing 

    from biao 

    where nianling>20 

    group by nianling

    (补充)关系运算符:

    =/!=/

    例:select nianling,COUNT(*)

           from biao 

           where nianling between 20and 25 

           group by nianling

         select grade,COUNT(*) from xuesheng where yuwen>60 group by grade 

    8、--having是group by独有的,(只能加聚合函数的选择条件)

    having是针对统计好的结果进行筛选,所以使用having的前提必须使用group by.

    select grade,COUNT(*)

    from xuesheng 

    where yuwen>60 

    group by grade 

    having COUNT(*)>9

    执行having的条件顺序:

    1)查询整个表

    2)先看where条件

    3)筛选完再执行group by

    4)再执行前面的聚合函数,针对每组分别操作

    5)最后执行having后面的聚合函数。

    9、group by....order by....

    Select banji,COUNT(*)

    from biao 

    where yuwen>75 

    group by banji 

    order by COUNT(*) desc

    执行order by条件先后顺序:

    1)查询整个表

    2)先看where条件

    3)筛选完再执行group by

    4)再执行前面的聚合函数,针对每组分别操作

    5)最后执行order by..后面的聚合函数。

    例题:

    select grade,

    MAX(shuxue) as 数学最高,

    MIN(shuxue) as 数学最低,

    MAX(yuwen)as 语文最高,

    MIN(yuwen) as 语文最低,

    MAX(yingyu)as 英语最高,

    MIN(yingyu) as 英语最低 

    from xuesheng 

    group by grade 

    having MAX(shuxue)>80 

    order by MAX(shuxue) desc

    数学函数

     1、---绝对值
     select ABS(-7)--是查处结果在结果框中显示


    2、 print abs(-4)--在消息框中显示


    select Code,xingming,sex,nianling,weight,abs(yuwen) as yuwen

    from xuesheng
    select Code,xingming,sex,nianling,weight,yuwen

    from xuesheng

    where ABS(yuwen)>90
    select *

    from xuesheng

    where ABS(yuwen)>90


     3、---取上限


    select CEILING(1.1)--ceiling取上限
    select CEILING(shuxue)

    from xuesheng

    where (shuxue-CEILING(shuxue))!=0

    select *

    from xuesheng

    where CEILING(shuxue)>=90--CEILING在查询语句中的格式


     4、---取下限


     select FLOOR(1.5)
     select FLOOR(shuxue)from xuesheng where Code=2--FLOOR在查询语句中的格式


     5、--次方


     select POWER(3,2)--表示3的2次方等于几就返回几
     select '这是'+xingming+'年龄的平方',POWER(nianling,2)from xuesheng--当只有age的数据类型为字符串的时候
     


     6、---四舍五入


     select ROUND(2.54655,0)--(a,b)a表示将要四舍五入的数,b表示要四舍五入到小数点后的位数
     select shuxe,ROUND(shuxue,0) as shehou from xuesheng--ROUND在查询中的格式
     


     7、--求平方根
     select SQRT(4)


     8、----求平方
     select SQUARE(3)

    展开全文
  • MySQL常用聚合函数详解

    千次阅读 2021-02-11 19:52:31
    以上就是小编为大家带来的MySQL常用聚合函数详解全部内容了,希望大家多多支持程序员学习网~ 这就是微学网-程序员之家为你提供的"MySQL常用聚合函数详解"希望对你有所帮助.本文来自网络,转载请注明出处:...

    一、AVG

    AVG(col)

    返回指定列的平均值

    二、COUNT

    COUNT(col)

    返回指定列中非NULL值的个数

    三、MIN/MAX

    MIN(col):返回指定列的最小值

    MAX(col):返回指定列的最大值

    四、SUM

    SUM(col)

    返回指定列的所有值之和

    五、GROUP_CONCAT

    GROUP_CONCAT([DISTINCT] expr [,expr ...]

    [ORDER BY {unsigned_integer | col_name | expr}

    [ASC | DESC] [,col_name ...]]

    [SEPARATOR str_val])

    返回由属于一组的列值连接组合而成的结果

    SELECT id,GROUP_CONCAT(name) FROM my_table GROUP BY id;

    SELECT id,GROUP_CONCAT(name separator ';') FROM my_table GROUP BY id;

    SELECT id,GROUP_CONCAT(name order by id) FROM my_table GROUP BY id;

    SELECT id,GROUP_CONCAT(name order by id separator ';') FROM my_table GROUP BY id;

    以上就是小编为大家带来的MySQL常用聚合函数详解全部内容了,希望大家多多支持程序员学习网~

    这就是微学网-程序员之家为你提供的"MySQL常用聚合函数详解"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/3805.html

    展开全文
  • 今天小编就为大家分享一篇关于Oracle数据库常用分析函数与聚合函数的用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。应之前的计划,今天完成这篇记录,也借此...

    今天小编就为大家分享一篇关于Oracle数据库常用分析函数与聚合函数的用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。

    应之前的计划,今天完成这篇记录,也借此记录自己的成长。

    一、几个排名函数的语法和用法:

    rank ( )  over ([partition by col]  order by col )

    dense_rank ( )  over ([partition by col] order  by col )

    rownumber ( )  over ( [partition by col] order by col )

    rank() 是排名的函数,该函数组内排序后会进行跳号,分数相同的作为并列。

    dense_rank() 该函数不会跳号,分数相同为并列第一,下一个是第二。

    row_number() 可以通过over 根据某字段排序完之后进行组内(如果有partition by)排序。

    下图是测试结果,先来看图消化一下:

    ab206bb909930c2b5581e4795425865c.png

    下边是代码:

    with lcyas (

    select regexp_substr('10,20,30,30,50,60,80,80,90,100','[^,]+',1,level) score

    from dualconnect by level <= 10

    )

    select score,

    rank()over (order by to_number(score)desc)"rank",

    dense_rank()over (order by to_number(score)desc)"dense_rank" ,

    row_number()over (order by to_number(score)desc)"row_number"

    from lcy ;

    解释可能不够详细,但我觉得截图展示更直观一点。

    二、Oracle分析函数与聚合函数的区别:

    分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。

    (肚里墨水太少,还是直接看例子吧)

    几种常用的聚合函数(这里就不截图了,大家可以试一下):

    1、 AVG(DISTINCT|ALL)

    ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值

    SELECT AVG(SAL)FROM SCOTT.EMP;

    SELECT AVG(DISTINCT SAL)FROM SCOTT.EMP;

    2、MAX(DISTINCT|ALL)

    求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次

    (加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)

    SELECT MAX(DISTINCT SAL)FROM SCOTT.EMP;

    SELECT MAX(SAL)FROM SCOTT.EMP

    3、 MIN(DISTINCT|ALL)

    求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次

    SELECT MIN(SAL)FROM SCOTT.EMP;

    SELECT MIN(DISTINCT SAL)FROM SCOTT.EMP;

    4、STDDEV(distinct|all)

    求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差

    SELECT STDDEV(SAL)FROM SCOTT.EMP;

    SELECT STDDEV(DISTINCT SAL)FROM SCOTT.EMP;

    5、VARIANCE(DISTINCT|ALL)

    求协方差  ALL表示对所有的值求协方差,DISTINCT表示只对不同的值求协方差

    SELECT VARIANCE(SAL)FROM SCOTT.EMP;

    SELECT VARIANCE(DISTINCT SAL)FROM SCOTT.EMP;

    6、SUM(DISTINCT|ALL)

    求和  ALL表示对所有值求和,DISTINCT表示只对不同值求和(相同值只取一次)

    SELECT SUM(SAL)FROM SCOTT.EMP;

    SELECT SUM(DISTINCT SAL)FROM SCOTT.EMP;

    7、COUNT(DISTINCT|ALL)

    求记录、数据个数。 ALL对所有记录,数组做统计, DISTINCT只对不同值统计(相同值只取一次)

    SELECT COUNT(SAL)FROM SCOTT.EMP;

    SELECT COUNT(DISTINCT SAL)FROM SCOTT.EMP;

    先写这么多吧,今天总结的有点潦草,之后的话或许还会有补充,说实话一开始,虽然我会用,但是不知道区别,在这里很感谢我老大的指导,才得以完成这篇文章,我会继续努力哒!

    总结

    以上就是oracle数据库常用分析函数与聚合函数的用法的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值。

    展开全文
  • count()聚合函数正确用法

    千次阅读 2021-01-19 07:21:47
    count()聚合计算count()是聚合函数,对于返回的结果集,一行行地判断,累计值加1,最后返回累计值,count(*)、count(主键ID)和count(1)表示返回满足条件的结果集的总行数。count()聚合函数统计非NULL与NULL值的区别...
  • select * from Car where Code in ('c001',‘c003’,‘c005’,'c007') select * from Car where Code not in('c001',‘c003’,‘c005’,'c007') (7)聚合函数 select sum(Price)from Car #查询所有价格之和 素描...
  • MySQL数据库中的函数有哪些发布时间:2020-11-09 16:15:52来源:亿速云阅读:58作者:LeahMySQL数据库中的函数有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求...
  • 数据库函数有哪些?

    2021-06-12 08:41:16
    数据库函数:一、数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回值e(自然对数的底)的x次方floor(x) 返回小于x的最大整数值...
  • Hive数据库对象与用户自定义函数 Hive视图 Hive中的视图和关系型数据库中视图在概念上是一致的,都是一组数据的逻辑表示,享用基本原始表的数据而不会另生成一份数据,是纯粹的逻辑对象。本质上,视图是一条SQL语句...
  • 数据库几种去重方法总结 一、数据库中的去重操作(删除数据库中重复记录的SQL语句)主要三种方法 (1)、rowid方法 (2)、group by方法 (3)、distinct方法 1、用rowid方法 根据Oracle带的rowid属性,...
  • 回退至mysql数据库理论与实战#进阶5:分组函数/聚合函数本质上就是一函数,调用语法:select 函数名(实参列表);函数:单行函数(常见函数):几行,最终有几个结果分组函数(聚合函数):一组中多行,但最终一个...
  • 数据库函数有哪些

    2021-02-08 11:11:55
    数据库函数有:1、数学函数【abs(x)、bin(x)】;2、聚合函数【avg(col)】;3、字符串函数【ascii(char)】;4、日期和时间函数【curdate()】;5、加密函数【decode(str,key)】。数据库函数有:一、数学函数abs(x) ...
  • 1. 背景及原因关系型数据库的一个基本原则是将不同细分数据放在单独的表中存储。这样做的好处是:1).避免重复数据的出现2).方便数据更新3).避免创建重复数据时出错例子:供应商信息和产品信息两部分。如果将他们...
  • 1. mysql 数据库操做方法:mysql进入数据库 mysql -uroot -p退出 quite exit默认引擎 innodb查看版本 select verison();查看时间 select now();逻辑运算 select 1+1;查询数据库 show databases ;建立数据库 create ...
  • MySQL数据库考试试题和答案

    千次阅读 2021-04-21 07:06:38
    《MySQL数据库考试试题...1、专业:移动通信科目:MySQL数据库一、单项选择题1以下聚合函数求数据总和的是( )AMAXBSUMCCOUNTDAVG答案:B2可以用( )来声明游标ACREATE CURSORBALTER CURSORCSET CURSORDDECLARE CURSOR...
  • 数据库的行号函数

    2021-04-30 07:43:12
    从Microsoft SqlServer 2005中返回一定顺序的记录集摘要:应用SqlServer2005开发也已经一段时间了,但是很多时候都是把SqlServer2005当做SqlServer2000来用,因此很多SqlServer2005的新特性我都没有用到,一个...
  • # ---------------------------------------------------- ## ---------------------------------------------------- ## -----------------MySQL数据库学习:操作表的聚合函数----------- ## ---------------------...
  • 聚合函数可以对结果集进行计算,常用的聚合函数有 avg()、sum()、min()、max()、count()等,本节 将介绍PostgreSQL两个特殊功能的聚合函数并给出测试示例。 在介绍两个聚合函数之前,先来看一个应用场景,...
  • --mysql数据库的十查询方式-- (1)查询时起别名SELECT id AS '编号',NAME AS '姓名',age AS '年龄'FROM student;-- (2)查询时添加常量列SELECT id AS '编号',NAME AS '姓名',age AS '年龄','软件工程' AS '班级' ...
  • PostgreSQL的源码中定义了很多内建的函数(build-in function),这些函数是在数据库启动时就可以使用的,一般是一些比较重要和...我们的目标是增加一些聚合函数,功能为计算信息熵相关的值(很DB for AI)的感觉了。
  • XMLAGG函数语法基本如图,能够用于列转行,列转行函数在oracle里几种方法,wm_concat也能够作oracle这里介绍wm_concat是由于XMLAGG实现效果和wm_concat是同样的,只是性能方面不同,注意:XMLAGG最好排序一下,...
  • 数据库窗口函数总结

    2021-12-03 16:45:39
    几种常用窗口函数的使用3.1 专用窗口函数rank, dense_rank, row_number[^4][^sql]3.2 聚合函数作为窗口函数[^sql]四、参考资料 一、什么是窗口函数 1.1 定义 窗口函数,也叫OLAP函数(Online Anallytical ...
  • 文章目录创建表SQL子查询聚合函数与分析函数分组函数dbms使用总结 创建表 oracle 中创建表: 普通的直接创建表:定义表名,列名,列类型,约束。 创建表指定表存储组织方式:堆表(存在同一物理区域),索引表(一般...
  • 山东大学 这个主要是数据库去重 一、数据库中的去重操作(删除数据库中重复记录的SQL语句)我常用的两方法 group by 方法 distinct方法 AC代码: 1、用group by方法:主要用于分组统计,一般都是使用在聚合函数中...
  • 数据库中cast函数

    2021-01-29 01:40:12
    下面以个例子做下简单说明。1.生成年龄思路:年龄一般为0-100岁,只要以当时日期为基准,用dateadd函数加上一个0-100的随机数即可。代码:declare @nl int,@csrq dateset @nl=c...文章余二五2017-11-16764浏览量...
  • 聚合 COUNT SUM MAX MIN AVG 第一节:聚合函数及其问题 本节目标: 理解聚合函数对null的处理特点及解决方案 掌握DISTINCT的使用 聚合函数问题: 1.DISTINCT:用于去重 select 聚合函数(distinct(字段)) from 表名;...
  • MySQL 使用AVG聚合函数时,保留两位小数的方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,640
精华内容 22,656
关键字:

数据库有几种聚合函数