精华内容
下载资源
问答
  • SQL窗口函数-排序函数

    2020-04-22 23:37:38
    1.排序函数用途 对某一列内容的数值大小,新建一列按1,2,3...排序。 2.排序函数的完整表达式 row_number() over (partition by 分组字段 order by 需排序字段 desc/asc) partition by 分组字段:进行分组排序,...

    1.排序函数用途

    对某一列内容的数值大小,新建一列按1,2,3...排序。

    2.排序函数的完整表达式

    row_number() over (partition by 分组字段 order by 需排序字段 desc/asc)

    partition by 分组字段:进行分组排序,比如按照性别对身高进行排序时,女生按照身高进行1,2,3...排序,男生也按照1,2,3...排序。

    order by 需排序字段:按照1,2,3...进行排序。

    desc/asc:排序类型,默认状态为升序(如果按照升序进行排序时不用写asc),desc为降序。

    3.row_number()、rank()、dense_rank()的区别

    数字 row_number rank dense_rank
    500 1 1 1
    500 2 1 1
    400 3 3 2

     

    展开全文
  • SQL窗口函数(OLAP函数) 由于关系数据库提供支持OLAP用途功能时间不长,并且还有一部分DBMS不支持这个新功能(比如MYSQL)所以是个较为难的知识点。 窗口函数用法: <窗口函数> OVER ( [PARTITION BY <列...

    SQL窗口函数(OLAP函数)

    由于关系数据库提供支持OLAP用途功能时间不长,并且还有一部分DBMS不支持这个新功能(比如MYSQL)所以是个较为难的知识点。

    窗口函数用法:
    <窗口函数> OVER ( [PARTITION BY <列清单> ]
    ORDER BY <排序用列清单> )
    *其中[ ]中的内容可以忽略

    下面介绍三种用于进行排序的专用窗口函数:
    例子:如果数据库中存在数据:1,2,1,3,1,4,5

    1、RANK()
    在计算排序时,若存在相同位次,会跳过之后的位次。
    例如,有3条排在第1位时,排序为:1,1,1,4······

    2、DENSE_RANK()
    在计算排序时,若存在相同位次,不会跳过之后的位次。
    例如,有3条排在第1位时,排序为:1,1,1,2······

    3、ROW_NUMBER()
    这个函数赋予唯一的连续位次。
    例如,有3条排在第1位时,排序为:1,2,3,4······

    例子:

    CREATE TABLE `salaries` (
    `emp_no` int(11) NOT NULL,
    `salary` int(11) NOT NULL,
    `from_date` date NOT NULL,
    `to_date` date NOT NULL,
    PRIMARY KEY (`emp_no`,`from_date`));
    

    对所有员工的当前(to_date=‘9999-01-01’)薪水按照salary进行按照1至N的排名,相同salary并列且按照emp_no升序排列

    使用:

    select emp_no, salary,
           dense_rank() over (order by salary desc) as rank
    from salaries
    where to_date='9999-01-01'
    order by rank asc,emp_no asc;
    
    展开全文
  • SQL —— 窗口函数。 ...

    哔哩哔哩数据分析师面试中,考核了两道SQL。其中一题,就需要使用窗口函数。

    直接搜了这篇博客,觉得很使用,讲的也清楚。所以先转载了,之后会对窗口函数再系统地学习。


    窗口函数可以进行排序,生成序列号等一般的聚合函数无法实现的高级操作。

    窗口函数也称为OLAP函数,意思是对数据库数据进行实时分析处理。窗口函数就是为了实现OLAP而添加的标准SQL功能。

    窗口函数语法:其中[]中的内容可以省略

    1. <窗口函数> over ([partition by <列清单>]
    2. order by <排序用列清单>)

    窗口函数大体可以分为以下两种:1.能够作为窗口函数的聚合函数(sum,avg,count,max,min)

                                                          2.rank,dense_rank。row_number等专用窗口函数。

    语法的基本使用方法:使用rank函数

    rank函数是用来计算记录排序的函数。

    <窗口函数> over ([partition by <列清单>]
                            order by <排序用列清单>)
    

    partition by 能够设定排序的对象范围,类似于group by语句,这里就是以product_type划分排序范围。

    order by能够指定哪一列,何种顺序进行排序。也可以通过asc,desc来指定升序降序。

    窗口函数兼具分组和排序两种功能。通过partition by分组后的记录集合称为窗口。

    然而partition by不是窗口函数所必须的:

    select product_name, product_type, sale_price,
           rank () over (order by sale_price) as ranking
    from Product;
    

    没有进行范围的划分,直接对全部的商品进行排序。

    专用函数的种类:1.rank函数:计算排序时,如果存在相同位次的记录,则会跳过之后的位次。

                                 2.dense_rank函数:同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次。

                                 3.row_number函数:赋予唯一的连续位次。

    select product_name, product_type, sale_price,
           rank () over (order by sale_price) as ranking,
    	   dense_rank () over (order by sale_price) as dense_ranking,
    	   row_number () over (order by sale_price) as row_num
    from Product;
    

    由于窗口函数无需参数,因此通常括号里都是空的。

    窗口函数的适用范围:只能在select子句中使用。

    作为窗口函数使用的聚合函数:

    sum:

    select product_id, product_name, sale_price,
           sum(sale_price) over (order by product_id) as current_sum
    from Product;
    

    以累计的方式进行计算。

    计算出商品编号小于自己的商品的销售单价的合计值。

    avg:

    select product_id, product_name, sale_price,
           avg(sale_price) over (order by product_id) as current_sum
    from Product;
    

    作为的统计对象同样是排在自己之上的记录。

    1行:1000/1

    2行:(1000 + 500)/2

    3行:(1000+500+4000)/3

    ...

    计算移动平均

    窗口函数就是将表以窗口为单位进行分割,并在其中进行排序的函数。其中还包含在窗口中指定更加详细的汇总范围的备选功能,该备选功能中的汇总范围称为框架。

    指定最靠近的3行做为汇总对象:

    select product_id, product_name, sale_price,
           avg (sale_price) over (order by product_id
    	                          rows 2 preceding) as moving_avg
    from Product;
    

    指定框架(汇总范围):这里使用的rows(行)和preceding(之前)两个关键字,将框架指定为截止到之前?行,因此rows 2 preceding就是将框架指定为截止到之前2行,也就是将作为汇总对象的记录限定为如下的最靠近3行

    1.自身(当前记录)

    2.之前1行的记录

    3.之前2行的记录

    所以结果:

    假设当前行为3000,前1行记录为4000,前两行记录为500,所以(500+4000+3000)/3=2500

    这样的统计方法称为移动平均。

    使用关键字following(之后)替换preceding,就可以将框架改为截止到之后?行。

    将当前记录的前后行作为汇总对象:

    select product_id, product_name, sale_price,
           avg(sale_price) over (order by product_id
    	                          rows between 1 preceding and 1 following) as moving_avg--使用between规划范围,语句意思为rows 1 preceding
    																				     --到rows 1 following
    from Product;
    

    语句意思:1.之前1行的记录

                      2.自身(当前记录)

                      3.之后1行的记录

    整的框架就是这样

    还是假设3000为当前记录,框架计算4000为前一行记录,6800为后一行记录(4000+3000+6800)/3 = 4600

    总行数还是3.

    两个order by

    select product_name, product_type, sale_price,
           rank() over (order by product_name) as ranking
    from Product;
    

    这时候价格会显得混乱不堪

    可以在语句最后添加一个order by子句,来约束sale_price

    
    select product_name, product_type, sale_price,
           rank() over (order by product_name) as ranking
    from Product
    order by sale_price;
    

     

    展开全文
  • SQL 窗口函数速查表

    千次阅读 多人点赞 2020-05-26 21:59:14
    SQL 窗口函数(分析函数)的速查表,包括窗口函数的语法、窗口函数列表(RANK、DENSE_RANK、ROW_NUMBER、LEAD、LAG、FIRST_VALUE、LAST_VALUE等)以及相关示例,内容适用于 MySQL、Oracle、SQL Server、PostgreSQL ...

    SQL 窗口函数速查表

    大家好!我是只谈技术不剪发的 Tony 老师。今天分享一个 SQL 窗口函数的速查表,包括窗口函数的语法、窗口函数列表以及相关示例,内容适用于 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite 等关系型数据库。

    如果需要 PDF 版本,点此下载

    窗口函数概述

    窗口函数(Window Function)基于一个滑动窗口,也就是与当前行相关的一组数据行为其计算出一个结果;通常也称为分析函数(Analytic Function)。

    Window Function

    我们知道,聚合函数(Aggregate Function)用于将一组数据汇总成一个结果;而窗口函数则为每一行数据计算出一个结果。它们的区别如下图所示:

    Aggregate Function
    窗口函数的语法如下:

    SELECT column1, column2,
      window_function OVER (
        PARTITION BY ...
        ORDER BY ...
        frame_clause) AS column_alias
    FROM table_name;
    

    其中,window_function 是窗口函数的名称;OVER 子句包含三个可选项:分区(PARTITION BY)、排序(ORDER BY)以及窗口大小(frame_clause)。

    以下是一个窗口函数的示例:

    SELECT city, month, 
      sum(sold) OVER (
        PARTITION BY city 
        ORDER BY month 
        RANGE UNBOUNDED PRECEDING) total
    FROM sales;
    

    该查询返回了不同城市,按照月份排序后,累计到每个月份的总销量;OVER 子句中各个选项的作用在下文中进行介绍。

    窗口函数还提供了命名窗口的功能:

    SELECT column1, column2,
      window_function1 OVER window_name 
      window_function2 OVER window_name 
    FROM table_name
    WINDOW window_name AS (
      PARTITION BY ...
      ORDER BY ...
      frame_clause);
    

    当多个窗口函数的 OVER 子句完全相同,命名窗口可以简化函数的输入。MySQL、PostgreSQL、SQLite 支持命名窗口,Oracle、SQL Server 不支持。

    PARTITION BY

    OVER 子句中的 PARTITION BY 选项用于定义分区,作用类似于 GROUP BY 分组;如果指定了分区选项,窗口函数将会分别针对每个分区单独进行分析;否则,所有数据作为一个整体进行分析。

    以下查询按照不同 city 统计总销量:

    SELECT month, city, sold,
      sum(sold) OVER (
        PARTITION BY city ) sum
    FROM sales;
    

    PARTITION BY

    ORDER BY

    OVER 子句中的 ORDER BY 选项用于指定分区内的排序方式,与 ORDER BY 子句的作用类似;排序选项通常用于数据的排名分析。下图演示了按照 city 分区、按照 month 排序之后的数据:

    ORDER BY

    窗口大小

    OVER 子句中的 frame_clause 选项用于指定一个滑动的窗口。窗口总是位于分区范围之内,是分区的一个子集。指定了窗口之后,分析函数不再基于分区进行计算,而是基于窗口内的数据进行计算。

    指定窗口大小的语法如下:

    ROWS | RANGE | GROUPS BETWEEN frame_start AND frame_end
    

    其中,ROWS 表示以行为单位计算窗口的偏移量;RANGE 表示以数值(例如 10 天之内)为单位计算窗口的偏移量;GROUPS 以组(ORDER BY 排序相同的数据为一组)为单位计算窗口的偏移量,只有 PostgreSQL、SQLite 支持 GROUPS 选项。

    frame_start 用于定义窗口的起始位置,可以指定以下内容之一:

    • UNBOUNDED PRECEDING,窗口从分区的第一行开始;
    • N PRECEDING,窗口从当前行之前的第 N 行、范围 N 之内或者第 N 个组开始;
    • CURRENT ROW,窗口从当前行开始。

    frame_end 用于定义窗口的结束位置,可以指定以下内容之一:

    • CURRENT ROW,窗口到当前行结束;
    • M FOLLOWING,窗口到当前行之后的第 M 行、范围 M 之内或者第 M 个组结束;
    • UNBOUNDED FOLLOWING,窗口到分区的最后一行结束。

    Window Frame
    以下是窗口选项的一些示例:

    窗口选项
    第一个窗口使用 ROWS 选项,包含了前后各 1 行以及当前行;第二个窗口使用 RANGE 选项,包含了当前行的数值减去 1(4-1=3)到当前行的数值加上 1(4+1=5)之间的所有数据;第三个窗口使用 GROUPS 选项,包含了前后各 1 组(ORDER BY 排序相同的数据为一组)和当前行。

    如果没有指定窗口大小选项,默认使用的窗口如下:

    • 如果指定了 ORDER BY, 默认窗口为 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW;
    • 如果没有指定 ORDER BY, 默认窗口为 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING。

    SQL 子句逻辑执行顺序

    窗口函数可以用于 SELECT 列表或者 ORDER BY 子句中,但是不能出现在其他子句中。各种 SQL 子句的逻辑执行顺序如下:

    1. FROM、JOIN
    2. WHERE
    3. GROUP BY
    4. 聚合函数
    5. HAVING
    6. 窗口函数
    7. SELECT
    8. DISTINCT
    9. UNION、INTERSECT、EXCEPT、MINUS
    10. ORDER BY
    11. OFFSET
    12. LIMIT、FETCH、TOP

    常用窗口函数

    • 排名窗口函数
      • RANK
      • DENSE_RANK
      • PERCENT_RANK
      • ROW_NUMBER
      • NTILE
      • CUME_DIST
    • 取值窗口函数
      • LAG
      • LEAD
      • FIRST_VALUE
      • LAST_VALUE
      • NTH_VALUE
    • 聚合窗口函数
      • AVG
      • SUM
      • COUNT
      • MAX
      • MIN

    排名窗口函数

    • RANK(),计算每行数据在其分区中的名次;如果存在名次相同的数据,后续的排名将会产生跳跃。
    • DENSE_RANK(),计算每行数据在其分区中的名次;存在名次相同的数据,后续的排名不会跳跃。
    • PERCENT_RANK(),与 RANK() 相同,但是以百分比的形式显示每行数据的名次,取值范围 [0-1]。
    • ROW_NUMBER(),为分区中的每行数据分配一个唯一序列号,从 1 开始分配。
    • NTILE(), 将分区内的数据分为 N 等份,为每行数据计算其所在的位置。
    • CUME_DIST(), 计算每行数据在其分区内的累积分布, 也就是排在该行数据之前的所有数据所占的比率,取值范围 (0-1]。

    排名窗口函数不支持动态的窗口大小(frame_clause),而是以整个分区(PARTITION BY)作为分析的窗口。

    下图演示了 ROW_NUMBER()、RANK() 以及 DENSE_RANK() 函数的效果:

    rank
    RANK() 和 DENSE_RANK() 函数必须指定 ORDER BY 选项,ROW_NUMBER() 函数可以不指定 ORDER BY 选项。

    下图演示了 CUME_DIST() 和 PERCENT_RANK() 函数的效果:

    cume dist
    CUME_DIST() 和 PERCENT_RANK() 函数必须指定 ORDER BY 选项。

    下图演示了 NTILE() 函数的效果:

    ntile
    NTILE() 函数必须指定 ORDER BY 选项。

    取值窗口函数

    • LAG(expr, offset, default), 返回分区中当前行之前第 offset 行对应的 expr 。 offset 和 default 可选,默认值分别为 1 和 NULL。
    • LEAD(expr, offset, default), 返回分区中当前行之后第 offset 行的对应expr 。 offset 和 default 可选,默认值分别为 1 和 NULL。
    • FIRST_VALUE(expr), 返回窗口内第一行对应的 expr 。
    • LAST_VALUE(expr), 返回窗口内最后一行对应的 expr 。
    • NTH_VALUE(expr, n), 返回窗口内第 n 行对应的 expr 。

    LAG 和 LEAD 函数不支持动态的窗口大小(frame_clause),而是以整个分区(PARTITION BY)作为分析的窗口。

    下图演示了 LAG(expr, offset, default) 和 LEAD(expr, offset, default) 函数的效果:

    lead
    LAG(expr, offset, default) 和 LEAD(expr, offset, default) 函数必须指定 ORDER BY 选项。

    下图演示了 FIRST_VALUE(expr) 和 LAST_VALUE(expr) 函数的效果:

    FIRST_VALUE
    FIRST_VALUE(expr) 和 LAST_VALUE(expr) 函数可以不指定 ORDER BY 选项。

    下图演示了 NTH_VALUE(expr, n) 函数的效果:

    NTH_VALUE
    SQL Server 不支持 NTH_VALUE(expr, n) 函数。NTH_VALUE(expr, n) 函数可以不指定 ORDER BY 选项。

    聚合窗口函数

    • AVG(expr),窗口内数据行的平均值;
    • SUM(expr),窗口内数据行的和值;
    • COUNT(expr),窗口内数据行的计数;
    • MAX(expr),窗口内数据行的最大值;
    • MIN(expr),窗口内数据行的最小值。

    聚合函数通常也可以作为窗口函数使用,可以用于计算数据的累计总值和移动平均值。聚合窗口函数可以不指定 ORDER BY 选项。

    如果你点击了收藏⭐,请不要忘了关注❤️、评论📝、点赞👍!

    展开全文
  • MySQL - SQL窗口函数

    千次阅读 多人点赞 2019-11-25 13:08:19
    //注意,mysql版本8已至此窗口函数这个功能, 如果低于该版本, 会出现SQL报错! 一.窗口函数有什么用? 在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求: 排名问题:每个部门...
  • SQL窗口函数

    2019-06-20 21:46:45
    窗口函数,也可以称为OLAP函数或分析函数。 它既可以分组,也可以排序,即兼具分组与排序功能,对于每一组能返回多行。 聚合函数是将某列多行中的值根据聚合规则返回(合并)为一行,对于每组只返回一行。 基本...
  • SQL窗口函数

    千次阅读 2020-03-25 22:44:53
    一.SQL中的进阶函数 1.窗口函数 窗口函数和普通聚合函数的区别: ①聚合函数是将多条记录聚合为一条;...原因就在于窗口函数的执行顺序(逻辑上的)是在FROM,JOIN,WHERE,GROUP BY,HAVI...
  • 案例分析:SQL 窗口函数实现高效分页查询

    千次阅读 多人点赞 2021-05-19 08:48:37
    使用 SQL 语句实现分页查询时,我们需要知道一些额外的参数信息,例如查询返回的总行...本文介绍了如何利用 SQL 窗口函数在一个语句中返回分页查询的结果和所需的全部参数,这种方法比传统的分页查询实现更加简洁高效。
  • sql窗口函数

    千次阅读 2014-02-17 09:57:51
    实际上,DB2中称这种函数为联机分析处理OLAP函数,而Oracle把它们称为解析函数,但ISO SQL标准把它们称为窗口函数窗口函数一般在OLAP分析、制作报表过程中会使用到。 窗口函数: 聚合函数 over() 聚合...
  • 最近由于面试需要,回顾了SQL当中的窗口函数,并整理了面试以及实际工作中常用的几种窗口函数,话不多说,直接上干货!!! 文章目录一、聚合函数作为窗口函数sum()、max()、min()、count()等1、应用场景2、语法结构...
  • 窗口函数排序

    2021-04-27 17:36:07
    今天在学习窗口函数的时候发现使用rank()等函数mysql会报错,错误类型显示没有这个函数,经过咨询身边朋友才知道sql版本8以上才支持这个函数,我查了我的sql版本(用:select version())发现是5.6的版本,因此需要...
  • SQL窗口函数与聚合表达式
  • spark sql窗口函数

    千次阅读 2018-09-28 22:18:42
    窗口函数是spark sql模块从1.4之后开始支持的,主要用于解决对一组数据进行操作,同时为每条数据返回单个结果,比如计算指定访问数据的均值、计算累进和或访问当前行之前行数据等,这些场景使用普通函数实现是比较...
  • odps sql 窗口函数基础

    2020-04-05 22:33:56
    窗口函数是一个查询利器,平时遇到棘手的问题,90%能够用窗口函数解决。 本篇内容主要介绍比较常用的窗口函数,看完这篇文章,基本能够解决大部分查询问题 本篇主要内容如下 本篇采用的数据集是 titanic的train.csv...
  • 一文读懂SQL窗口函数

    2020-12-24 20:18:43
    应对这些需求,需要使用到sql的高级功能窗口函数。 二. 什么是窗口函数窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。 语法: <窗口函数> ...
  • 窗口函数的使用(1) 窗口是非常重要的统计工具,很多数据库都支持窗口函数。Spark从1.4开始支持窗口(window)函数。它主要有以下一些特点: 先对在一组数据行上进行操作,这组数据被称为Frame。 一个Frame对应...
  • 在窗口分析函数出现之前,存在很多 SQL 难以解决的问题,很多都要通过复杂的相关子查询完成,或到Excel中用函数处理 2003年ISO SQL标准加入了窗口分析函数,使得这些难题轻松被攻克,大大提升...① 窗口函数对每个组...
  • SQL牛逼函数走起来2.1  Step12.2  SQL实现12.3  Step22.4  SQL实现22.5  补充-collect函数2.5.1  SQL语句3  头条面试SQL题3.1&nbs...
  • SQL ——窗口函数简介

    万次阅读 2018-11-28 22:23:20
    目录 1、窗口函数的描述 2、窗口函数中的元素 2.1、分区 2.2、排序 ...窗口是标准的SQL术语,用来描述SQL语句内OVER子句划定的内容,这个内容就是窗口函数的作用域。而在OVER子句中,定义了窗口所...
  • sql窗口函数

    万次阅读 多人点赞 2018-08-17 10:29:42
    窗口函数可以进行排序,生成序列号等一般的聚合函数无法实现的高级操作。 窗口函数也称为OLAP函数,意思是对数据库数据进行实时分析处理。窗口函数就是为了实现OLAP而添加的标准SQL功能。 窗口函数语法:其中[]中...
  • 通俗易懂的学会:SQL窗口函数

    千次阅读 多人点赞 2019-11-14 21:00:00
    在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求:排名问题:每个部门按业绩来排名topN问题:找出每个部门排名前N的员工进行奖励面对这类需求,就需要使用sql的高级功能窗口函数了。二.什么是窗口...
  • SQL_窗口函数

    千次阅读 2020-03-19 22:22:31
    1.窗口函数与分析函数 看到一篇写的很好的总结了,就把链接附上把,我们主要是结合一些题目看一下具体的用法(https://blog.csdn.net/scgaliguodong123_/article/details/60135385) 1.1 窗口函数 FIRST_VALUE:取...
  • SQL窗口函数教程及练习笔记(sqlite)

    千次阅读 2019-12-13 10:27:07
    窗口函数 文章目录窗口函数教程数据...通俗易懂的学会:SQL窗口函数 by 猴子 数据说明 数据为《sql面试50题》中的【成绩表】score,创建和插入数据可以在连接中找到。 sqlite 代码 我本地使用的是sqlite数据库。 m...
  • 详细可以参考,介绍的很详细:/PostgreSQL’s ...窗口函数: 也称为OLAP(Online Analytical Processing)函数 对数据库数据就行实时分析处理 <窗口函数> OVER ( [PARTITION BY <列清单>] ODER BY &l...
  • 第71课:Spark SQL窗口函数解密与实战学习笔记 本期内容: 1 SparkSQL窗口函数解析 2 SparkSQL窗口函数实战   窗口函数是Spark内置函数中最有价值的函数,因为很多关于分组的统计往往都使用了窗口函数。 ...
  • mysql 窗口函数排序

    2020-10-06 17:18:25
    窗口函数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 ...
  • 窗口函数可以进行排序,生成序列号等一般的聚合函数无法实现的高级操作。 窗口函数也称为OLAP函数,意思是对数据库数据进行实时分析处理。窗口函数就是为了实现OLAP而添加的标准SQL功能。 窗口函数语法:其中[]中...
  • 2.**涉及到排名问题可使用窗口函数rank, dense_rank, row_number ** select *, rank() over (order by 成绩 desc) as ranking, dense_rank() over (order by 成绩 desc) as dese_rank, row_number() o
  •  1.SparkSQL窗口函数解析  2.SparkSQL窗口函数实战 一、SparkSQL窗口函数解析  1.spark支持两种方式使用窗口函数:  在SQL语句中的支持的函数中添加OVER语句。例如avg(revenue) OVER (…)  使用DataFrame API...
  • 文章目录简介窗口函数经典窗口函数rank()dense_rank()row_number()经典问题topN输出排名问题 简介 我来说说我这blog的题目吧,为什么起这个名字。 “先用再理解”:首先我认为sql这东西不是什么门槛很高的技能,当然...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,403
精华内容 13,761
关键字:

sql窗口函数排序