首页 > 其他分享 >分析函数(窗口函数)

分析函数(窗口函数)

时间:2023-09-27 17:24:39浏览次数:22  
标签:分析 窗口 函数 over rank current order

一、什么是分析函数: 分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。

     基本语法:<窗口函数> over (partition by <用于分组的列名>

                                                         order by <用于排序的列名>)

二、窗口函数:

      1.专用窗口函数:rank、dense_rank、row_number等,使用专用窗口函数,函数后面的()里不需任何参数,空着就行;

      2.聚合函数:sum、avg、count、max、min等

      3.rank、dense_rank和row_number区别 

                     例 :select *,rank() over (order by 成绩 desc)as ranking,

                                              dense_rank() over (order by 成绩 desc) as dese_rank,

                                             row_number() over (order by 成绩 desc) as row_num

                             from 班级表

           

 

    4.聚合函数作为窗口函数

        例       select *,

                            sum(成绩) over (order by 学号) as current_sum,
                            avg(成绩) over (order by 学号) as current_avg,
                            count(成绩) over (order by 学号) as current_count,
                            max(成绩) over (order by 学号) as current_max,
                            min(成绩) over (order by 学号) as current_min
                     from 班级表

                   

 

 

三、group by 与窗口函数都具有分组功能。有什么不同?

        答: group by 分组汇总后改变了表的行数,一行只有一个类别;而partition by 和rank函数不会减少原表的行数

四、窗口函数功能:1.同时具有分组和排序的功能;

                                 2. 不减少原表的行数

 

标签:分析,窗口,函数,over,rank,current,order
From: https://www.cnblogs.com/zzy-0039/p/17728808.html

相关文章

  • 业务流程分析和接口设计
         ......
  • SQL_duckdb分析nuScenes数据
    使用duckdb来了解数据usingself-drivingcardatafromthenuScenesdataset,andwritingPythoncodetovisualizeitsroute,IMUacceleration,andperceivedobjects.传统方法:nuScenes官方提供了一个数据集开发工具nuscenes-devkit,封装了数据读取、索引、......
  • KBEngine服务端源码-分析
    目录后续会做更详细的更新classTask子类图示classTimerHandler子类图示Entity实体类--继承自(publicscript::ScriptObject)声明部分宏BASE_SCRIPT_HREADER宏SCRIPT_HREADER_BASE宏 ENTITY_HEADER实现部分宏ENTITY_METHOD_DECLARE_BEGIN宏ENTITY_CPP_IMPL宏SCRIPT_METHOD_DE......
  • 记一次 .NET 某金融企业 WPF 程序卡死分析
    ##一:背景###1.讲故事前段时间遇到了一个难度比较高的dump,经过几个小时的探索,终于给找出来了,在这里做一下整理,希望对大家有所帮助,对自己也是一个总结,好了,老规矩,上WinDBG说话。##二:WinDbg分析###1.为什么会卡死既然程序卡死,那肯定是被冻住了,所以看下主线程此时在做什么。......
  • Hive函数高阶——explode函数、UDAF聚合函数
    1、explode函数(输入一行,输出多行)引入lateralview侧视图的概念解决上面问题的限制:2、UDAF聚合函数增强聚合——groupingsets(相当于unionall)增强聚合——cube增强聚合——rollup(是cube的子集,以左侧维度为主)......
  • Java函数AI生成器:秒级体验,高质量生成
    职业使然,之前我自己试用并给小伙伴们推荐过不少大模型相关的产品,这些产品看起来牛逼plus,但是它们要么对国内有限制,要么是申请制/邀请制,自己没个资想搞个账号去体验一下都难如登天,忍不住吐槽某大厂虽然早早的对外宣布面向全民开发,但实际上提交了手机号码还在等待排队上车,掐指一算,有......
  • realloc函数应用&IO泄露体验
    本题主要介绍realloc函数,平时我们使用realloc最多便是在打malloc_hook-->onegadget的时候,使用realloc_hook调整onegadget的栈帧,从而getshell。在realloc函数中,也能像malloc一样创建堆,并且比malloc麻烦一些,但是倒是挺有趣的。reallocrealloc(realloc_ptr,size)有两个参数,并且在......
  • 前端中循环依赖原因分析及解决方案
    前端中循环依赖什么是循环依赖:两个以上模块之间互相引用,构成闭环依赖。保持依赖引入的单向流通性!示例:不要觉得自己不会写出这样的代码,当项目庞大后一旦出现这样的问题将会造成无法排查的问题。//在a.js引用b.js内容import{b}from"./b.js"exportconsta=()=>......
  • Hive函数入门——内置函数+用户定义函数
    1、内置函数1、字符串、时间类型函数之前也是在c语言里面学过,包括concat、split等;时间类型函数:前不久用到的函数:date_add--->当前日期的后的第几天的日期;date_sub--->当前日期的前的第几天的日期;2、数学函数、集合函数round--取整数值(还能指定保留的精度)floor--向下取整......
  • logwatch日志分析工具安装与使用
    Linux日志分析工具(logwatch)安装及使用运维网工 2023-09-1209:00 发表于重庆收录于合集#运维工程师185个#Linux运维19个#linux运维23个#运维工具96个链接:http://c.biancheng.net/view/1108.htmlLinux日志分析工具(logwatch)安装及使用日志是非常重要的系统文......