zoukankan      html  css  js  c++  java
  • 【SQL】开窗函数简介

    【参考链接】:https://b23.tv/Ktb0oL

    1.为什么用开窗函数(什么情况用)

    • eg:假设一个部门有很多人,又有很多部门,想求每个部门的平均工资
      • 一般情况下,group by部门,只会得到部门名和最后的平均工资
      • 利用开窗函数,还可以另外显示每个部门的人员信息

    2.基本语法

    # function:聚合函数
    # expression:你想要的列(工资)
    function (expression)
    OVER (PARTITION BY column
          ORDER BY column ASC/DESC
          ROWS [···])
    • OVER():必须有,其余的不是必须的
    • eg:计算累计工资
      • 姓名(name)、部门(department)、小组(group)、工资(salary)、入职日期(join_date)
      • PARTITION(分割) BY
        • 每个部门的 - PARTITION BY department
        • 每个部门及小组的 - PARTITION BY department,group
    • ROWS
      • 默认:ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
        • (unbounded preceding and current row 所有前面的行和现在的行)
      • ROWS BETWEEN (x 是一个数值) …… AND ……
        • UNBOUNDED PRECEDING(前面所有行)
        • x PRECEDING (前x行)
        • x FOLLOWING (后x行)
        • CURRENT ROW (当前行)
    • function (expression)
      • avg(column)
      • count(*) / count(column)
      • dense_rank( )
      • lag(column [, offset ]) / lead(……)
      • max(column) , min(column), median(column)
  • 相关阅读:
    InterView
    单例设计模式(附AS3)
    网络游戏的分类
    flex的动态链接库和静态链接库
    flash 中位图九宫格的用法
    删除Flex Builder中没用的工作空间
    一个3D游戏DEMO, 同步教程更新
    LVS NET部署
    zabbix安装
    MySQL+keepalived高可用配置
  • 原文地址:https://www.cnblogs.com/tuzinn/p/13971464.html
Copyright © 2011-2022 走看看