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是在分组、执行了组函数之后,
    对组函数所产生的结果进行限制。

     

     

     

  • 相关阅读:
    递归和消去递归
    Time complexity analysis of algorithms
    algorithms中计算时间的渐近表示
    OAuth认证协议原理分析及同步消息到Twitter和Facebook使用方法
    javascript实现URL编码与解码
    before伪类的超有用应用技巧——水平菜单竖线分隔符
    在线工具(转)
    程序员小抄大全
    Web设计的速查卡(转)
    一个简单的AJAX示例(转)
  • 原文地址:https://www.cnblogs.com/DennySmith/p/12189204.html
Copyright © 2011-2022 走看看