zoukankan      html  css  js  c++  java
  • oracle数据库学习笔记(六)

    第六章 Multiple Row Functions 多值函数

    数据库中函数分类:
    1)Single Row Functions 单值函数
    特点:n条数据参与函数运算得到n条结果。
    2)Multiple Row Functions 多值函数(组函数)
    特点:n条数据参与函数运算,得到的结果可能小于n。
    计算的过程中要对数据进行分组。
    一个班级有48个同学,每8人一小组,分成六6个小组。
    计算每个小组的平均分数?

    1.常见的多值函数
    avg 计算平均值
    max 计算最大值
    min 计算最小值
    sum 计算代数和
    count 计算的某个字段非空字段值的数量

    insert into s_emp(id,last_name)
    values(999,'_briup');

    select count(*) from s_emp;
    -->25 √

    2.多值函数的语法
    关键字:
    1)group by
    用来指定分组的字段,
    例如group by 字段A,
    那么就会把字段A的值相同的数据分为一组。
    2)having
    用来指定分组之后的查询条件(功能类似where)

    位置:
    1)group by出现在where子句的后面。
    2)having出现在group by的后面。

    select查询语句中的六大关键字:
    select ...
    from ...
    where ...
    group by ...
    having ...
    order by ...;

    语法:
    select 函数名(要进行计算的字段)
    from 表名
    [group by 分组的字段]
    [having 分组之后的查询条件];
    group by和having都可以不出现。
    group by不出现,代表整个表中所有数据分为一个大组。
    最终只得到一个计算结果。
    having不出现代表所有的数据全部输出。

    例如:
    查询每个部门的平均工资?
    select avg(salary)
    from s_emp
    group by dept_id;

    查询所有员工的平均工资?
    select avg(salary)
    from s_emp;

    查询每个部门的平均工资、最高的工资、最低的工资?
    select dept_id,avg(salary),max(salary),min(salary)
    from s_emp
    group by dept_id;

    注意:
    1)出现在select后面的字段,
    要么是组函数,要么是分组的依据字段。
    2)where和having的区别
    where是在分组之前,对数据进行单值查询限制。
    having是在分组、执行了组函数之后,
    对组函数所产生的结果进行限制。

     

     

     

  • 相关阅读:
    一个关于最小生成树的trick
    2021牛客暑期多校训练营3 E. Math(数论/韦达定理)
    2021牛客暑期多校训练营3 J. Counting Triangles(容斥原理)
    2021“MINIEYE杯”中国大学生算法设计超级联赛(2)1001. I love cube(思维)
    LXC 入门
    python装饰器4【两个参数】【wraps】【不常规套路】
    python的windows 自动化【demo】
    groovy 闭包和函数
    groovy DSL
    Jenkins【DSL】
  • 原文地址:https://www.cnblogs.com/DennySmith/p/12189204.html
Copyright © 2011-2022 走看看