首页 > 数据库 >mysql-窗口函数

mysql-窗口函数

时间:2023-06-06 14:45:09浏览次数:48  
标签:窗口 函数 记录 -- 计算 mysql 动态

转:https://zhuanlan.zhihu.com/p/456560406

什么是 窗口

  --窗口对于group分组和聚合函数等,窗口是固定的,就是每一组,比如想知道每个学生的平均成绩,指定的组就是每个学生的id,聚合函数在这个id划定的窗口内对所有记录进行计算。这是静态窗口,窗口内的记录相互关联,窗口外的记录彼此无关。

    --但实际业务中我们往往需要处理排名、累加、移动平均、取前N个这样的需求,每个记录的排名需要动态计算它在所有数据的位置;累加需要动态计算前面素有记录的和;移动平均要滑动计算;取前N个也是需要计算排名。这时候就需要动态窗口或者叫滑动窗口。

什么是 窗口函数

        --窗口函数 是动态处理数据的一类函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。

        --窗口函数 由两部分组成,“分析函数” + “窗口函数”,语法如下

分析函数 over (partition by "要分组的列,多个列用多好分割"
                     order by "要排序的列"
                     rows between "开始的行" between "结束的行")

         --over()的作用是划定窗口,分析函数的左右是在窗口内对记录进行计算

 

 

 

-------------------------------------------------------------分割线-------------------------------------------------------------

 

标签:窗口,函数,记录,--,计算,mysql,动态
From: https://www.cnblogs.com/lindaguanren/p/17460488.html

相关文章

  • CENTOS 6.0 mini系统编译安装mysql 5.5.16过程
     下面的安装过程是www.centos.bz博主朱海茂的文章,在此一并谢过,看到你的这篇文章我编译成功了,谢谢。根据我的情况进行了简单的修改,请见谅。我的是centos6的系统,使用mini的安装模式,安装完成后的第一件事要配置好网络,这个过程就郁闷了我好几次,mini模式安装出来没有setup,网络只能......
  • 字符集问题(mybatis 插入mysql中文乱码,入参是中文)
    1.启动/停止/重启/状态servicemysqldstartservicemysqldstopservicemysqldrestartservicemysqldstatus  mysqld是守护进程脚本,init.d不是mysql的home2.home/进入控制台/usr/lib64/mysqlmysql-uroot-p切换数据库usesomedb查看该数据库字符集......
  • C++中的显式构造函数
      有如下一个简单的复数类:classClxComplex{public:ClxComplex(doubledReal=0.0,doubledImage=0.0){m_dReal=dReal;dImage=dImage;}doubleGetReal()const{returnm_dReal;}doubleGetImage()const{retu......
  • mysql中用limit 进行分页有两种方式
    springboot分页插件的使用SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset  SELECT*FROMtableLIMIT[offset,]rows|rowsOFFSEToffsetLIMIT子句可以被用于强制SELECT语句返回指定的记录数。LIMIT接受一个或两个数字参数。参数必须是一个整......
  • Qt多窗口编程详解
    常用的窗体基类是QWidget、QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择。QWidget直接继承于QObject,是QDialog和QMainWindow的父类,其他继承于QWidget的窗体类还有QSplashScreen、QMdiSubWindow和QDesktopWidget。另外还有一个类Q......
  • C++类构造函数、拷贝构造函数、复制构造函数、复制构造函数、构造函数显示调用和隐式
    一、构造函数是干什么的 1.2.{3.public:4.//类Counter的构造函数5.//特点:以类名作为函数名,无返回类型6.Counter()7.{8.0;9.}10.private:11.//数据成员12.intm_value;13.}      该类对......
  • 在前端中函数柯里化的妙用~
    前言:在使用它之前我们需要先了解什么是柯里化?所谓的柯里化不过就是将多个固定的参数生成一个新动态的调用函数,这句话看起来有点绕!但是我们理解清楚后就不会有这种感觉~在某些场景中我的执行函数是固定参数才会执行的,但是这些参数取数又不是一次性的时候你会怎么处理?我们一个函......
  • 浅谈mysql索引类型(normal、unique、full textl) 的区别和使用场景
    mysql索引类型mysql索引类型normal,unique,fulltext的区别是什么?normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefulltextl:表示全文搜索的索引。FULLTEXT用于搜索很长一篇文章的时候,效果最好。用在......
  • mysql 存储过程
    存储过程是一组特定的语句合计,为实现某种特定的功能。编译后存贮在字典中。因为的多条语句集合后执行,为了避免与sql语句的结束符;冲突而逐条执行,创建之前要申明存储过程需要使用的分隔符。 delimter$$#定义分隔符为$$…………$$#执行delimiter;#执行后结束符修改为;i......
  • MySQL用户与权限管理
    一:用户管理1:登录MySQL服务器我们在安装完MySQL以后,就会通过root用户进行登录;那么root该怎么登录呢?所以我们启动MySQL服务后,可以通过mysql命令来登录MySQL服务器基本语法:mysql<-uusername><-p>[password][-hhostname|hostIP][-Pport][databaseName][-e"SQL语句"......