• Oracle SQL Lesson (5)


    组函数
    AVG
    COUNT
    MAX
    MIN
    SUM
    VARIANCE:方差
    STDDEV:标准差

    SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary)
    FROM employees WHERE job_id LIKE '%REP%';

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

    COUNT(expr) 返回expr为非空值的行数:
    SELECT COUNT(commission_pct) FROM employees WHERE department_id = 80;
    select count(nvl(comm,0)) from emp;
    select sum(comm),avg(comm) from emp;去除空值
    select sum(comm),avg(nvl(comm,0)) from emp;

    SELECT COUNT(DISTINCT department_id) FROM employees;

    SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ;
    SELECT AVG(salary) FROM employees GROUP BY department_id ;

    Group by多列
    SELECT department_id, job_id, SUM(salary) FROM employees WHERE department_id > 40
    GROUP BY department_id, job_id
    ORDER BY department_id;

    group by不能使用别名,order by可以使用别名。

    非法的组函数使用

    SELECT department_id, COUNT(last_name) FROM employees;
    SELECT department_id, job_id, COUNT(last_name) FROM employees GROUP BY department_id;
    SELECT department_id, AVG(salary) FROM employees WHERE AVG(salary) > 8000 GROUP BY department_id;

    正确使用having子句
    SELECT column, group_function
    FROM table
    [WHERE condition]
    [GROUP BY group_by_expression]
    [HAVING group_condition]
    [ORDER BY column];

    SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000 ;
    SELECT department_id, MAX(salary) FROM employees HAVING MAX(salary)>10000 GROUP BY department_id;

    SELECT job_id, SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%'
    GROUP BY job_id HAVING SUM(salary) > 13000 ORDER BY SUM(salary);

    组函数嵌套
    SELECT MAX(AVG(salary)) FROM employees GROUP BY department_id;
    组函数只能嵌套一层,当行函数可以嵌套多层。必须跟group by。

  • 相关阅读:
    Naive Bayesian classification 朴素贝叶斯分类
    svm
    CentOS 7上的性能监控工具
    Elasticsearch .net 客户端条件拼接查询
    centos7 搭建elk
    Elasticsearch 快照和恢复
    Elasticsearch .net client NEST使用说明 2.x
    ELK 日志系统搭建配置
    用微软makecert.exe生成一个自签名的证书
    (从零开始java开发) IDEA+MAVEN构建一个webapp骨架项目(解决一直downloading问题)
  • 原文地址:https://www.cnblogs.com/thlzhf/p/3404080.html
Copyright © 2020-2023  润新知