MySQL-窗口函数&聚合函数

从salaries表中查询emp_no,salary,并根据emp_no字段升序累加salary作为running_total字段。最后的结果如下图所示:
MySQL-窗口函数&聚合函数_第1张图片
MySQL语句如下:

SELECT emp_no,salary,SUM(salary) OVER(ORDER BY emp_no ASC) AS running_total
FROM salaries
WHERE to_date = '9999-01-01';

窗口函数

窗口函数也称OLAP函数(online analytical processing),意思对数据库进行实时分析。
语法:

<窗口函数> OVER ([PARTITION BY <列清单>] ORDER BY <排序用列清单>)

partition by:用于分类,类似于group by。
其中,[]可省略。
窗口函数分为两类:

  • 聚合函数;
    sum,min,max,avg,count
  • 专用函数
    rank,dense_rank,row_number

其中专用函数用于排序,用法如下:
MySQL-窗口函数&聚合函数_第2张图片

你可能感兴趣的:(MySQL,mysql,数据库)