zoukankan      html  css  js  c++  java
  • oracle高级查询之分组查询

    1.分组查询

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

    1..常用的分组函数AVG(平均值).SUM(求和).MIN(最小).MAX(最大值).COUNT.(求个数)..WM_CONCAT(行转列)

    select(*) from emp

    2.distinct关键字去除重复记录

    select  count (distinct  deptno) from emp

    3.分组函数会自动忽略空值,只会统计非空个数

    4.NVL函数使得无法自用忽略空值

    select count (*),count(nvl(comm,o)) from  emp

    2.分组数据

    1.group by 子句将表中数据分成若干组

    在select列表中所有未包含在组函数的列都应该包含在group by子句中

       select a,b,c 组函数(x)from table group by a,b,c;

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

      多个列的分组可以通过ORDER BY

      select a,b,c 组函数(x)from table group by a,b,c order by a;

    HAVING语句用于过滤分组语句

    where和having区别

    不能再where子句中使用组函数,可以在having子句中使用组函数

    having是先分组,后过滤,where先过滤在分组,从sql语句来说where效率高些。

    分组函数的嵌套,如下所示

    select max(avg(sal)) from emp group by deptno;

  • 相关阅读:
    用webservice实现的一个天气预报程序
    让VS.net2005手机模拟器上网
    EVC4.0 PPC2003 Emulator 转中文版
    BSTR转CString
    在pocket pc 2003上播放声音
    VC++.net 2005 SmartDevice 屏幕转向
    c#.net2005 调用evc4.0生成的dll文件
    Json
    adb 命令模拟按键事件
    bat 截取字符
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819703.html
Copyright © 2011-2022 走看看