zoukankan      html  css  js  c++  java
  • 宋体函数Java乔晓松oracle分组函数

    首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责

        

    什么是组分函数

        组分函数作用于一组数据,并对一组数据回返一个值。

        

    组函数型类

        AVG 

        COUNT 

        MAX 

        MIN 

        STDDEV(准标方差)

        SUM

        

    组函数法语

        SELECT [column,] group_function(column), ...

        FROM table

        [WHERE condition]

        [GROUP BY column]

        [ORDER BY column];

        

    AVG(平均值)和 SUM (计合)函数

        可以对数值型数据应用AVG 和 SUM 函数。

        SELECT AVG(salary), MAX(salary),

           MIN(salary), SUM(salary)

        FROM   employees

        WHERE  job_id LIKE '%REP%';

        

    MIN(最小值) 和 MAX(最大值)函数

        可以对恣意数据型类的数据应用 MIN 和 MAX 函数。

        SELECT MIN(hire_date), MAX(hire_date)

        FROM   employees;

        COUNT(计数)函数

        COUNT(*) 回返表中记载总数。

        SELECT COUNT(*)

        FROM   employees

        WHERE  department_id = 50;

        

    COUNT(计数)函数

        COUNT(expr) 回返 expr不为空的记载总数。

        SELECT COUNT(commission_pct)

        FROM   employees

        WHERE  department_id = 80;

        DISTINCTdistinct) 关键字

        COUNT(DISTINCT expr) 回返 expr非空且不重复的记载总数

        SELECT COUNT(DISTINCT department_id)

        FROM   employees;

        组函数与空值

        组函数疏忽空值。

        SELECT AVG(commission_pct)

        FROM   employees;

        

    在组函数中应用NVL函数

        NVL函数使组分函数没法疏忽空值。

        SELECT AVG(NVL(commission_pct, 0))

        FROM   employees;

        组分数据:  GROUP BY 子句法语

        SELECT column, group_function(column)

        FROM table

        [WHERE condition]

        [GROUP BY group_by_expression]

        [ORDER BY column];

        可以应用GROUP BY 子句将表中的数据分红干若组

        

    GROUP BY 子句 

        在SELECT 表列中所有未含包在组函数中的列都应该含包

        每日一道理
    聪明人习学,像搏击长空的雄鹰,仰视一望无际的大地;愚笨的人习学,漫无目的,犹如乱飞乱撞的无头飞蛾;刻苦的人习学,像弯弯的河流,虽有曲折,但终会流入大海;懒惰的人习学,像水中的木头,阻力越大倒退得越快。

        在 GROUP BY 子句中。

        SELECT   department_id, AVG(salary)

        FROM     employees

        GROUP BY department_id ;

        含包在 GROUP BY 子句中的列不必含包在SELECT 表列中

        SELECT   AVG(salary)

        FROM     employees

        GROUP BY department_id ;

        在GROUP BY 子句中含包多个列

        SELECT   department_id dept_id, job_id, SUM(salary)

        FROM     employees

        GROUP BY department_id, job_id ;

        

    法非应用组函数

        所用含包于SELECT 表列中,而未含包于组函数中的列都

        必须含包于 GROUP BY 子句中。

        SELECT department_id, COUNT(last_name)

        FROM   employees;

        SELECT department_id, COUNT(last_name)

           *

        ERROR at line 1:

        ORA-00937: not a single-group group function

        GROUP BY 子句中少缺列

        不能在 WHERE 子句中应用组函数(注意)。

        可以在 HAVING 子句中应用组函数。

        SELECT   department_id, AVG(salary)

        FROM     employees

        WHERE    AVG(salary) > 8000

        GROUP BY department_id;

        WHERE  AVG(salary) > 8000

           *

        ERROR at line 3:

        ORA-00934: group function is not allowed here

        WHERE 子句中不能应用组函数

        

    过滤组分

        过滤组分: HAVING 子句

        应用 HAVING 过滤组分:

        1. 行经已被组分。

        2. 应用了组函数。

        3. 满意HAVING 子句中条件的组分将被示显。

        SELECT column, group_function

        FROM table

        [WHERE condition]

        [GROUP BY group_by_expression]

        [HAVING group_condition]

        [ORDER BY column];

        

    HAVING 子句

        SELECT   department_id, MAX(salary)

        FROM     employees

        GROUP BY department_id

        HAVING   MAX(salary)>10000 ;

        

    嵌套组函数

        示显平均工资的最大值

        SELECT   MAX(AVG(salary))

        FROM     employees

        GROUP BY department_id;

        

    总结

        通过本章习学,您经已学会

        应用组函数。

        在查询中应用 GROUP BY 子句。

        在查询中应用 HAVING 子句。 

        SELECT column, group_function(column)

        FROM table

        [WHERE condition]

        [GROUP BY group_by_expression]

        [HAVING group_condition]

        [ORDER BY column];

    文章结束给大家分享下程序员的一些笑话语录: 警告
    有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他 说, “你知道不知道这个东西会危害你的健康?我是说, 你有没有注意到香烟 盒上的那个警告(Warning)?”
    小伙子说,“没事儿,我是一个程序员”。
    那妇女说,“这又怎样?”
    程序员说,“我们从来不关心 Warning,只关心 Error”

  • 相关阅读:
    各进制字符串转换
    小度智能音箱开发
    讯飞魔飞智能麦克风-->直接输出串口
    node express SSL 证书布署
    紫外线消毒灯智能控制系统
    智能家居解决方案
    Git 分支管理
    C语言MQTT库MQTTPacket.c使用,尤其接收
    Vue 数组控制CSS
    AOP_02 通过ContextBoundObject、ContextAttribute 上下文对象实现
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3050590.html
Copyright © 2011-2022 走看看