精华内容
下载资源
问答
  • sql窗口函数

    2020-04-21 17:32:49
    sql窗口函数 该文章属于转载 https://blog.csdn.net/qq_41805514/article/details/81772182

    sql窗口函数
    该文章属于转载
    https://blog.csdn.net/qq_41805514/article/details/81772182

    展开全文
  • sql 窗口函数介绍(Introduction) In my last article, I explained what SQL window functions are and how they can be used. In this article, I’m going to share what I think are the 5 MOST useful window ...

    sql 窗口函数

    介绍(Introduction)

    In my last article, I explained what SQL window functions are and how they can be used. In this article, I’m going to share what I think are the 5 MOST useful window (analytics) functions.

    在上一篇文章中,我解释了什么是SQL窗口函数以及如何使用它们。 在本文中,我将分享我认为的5个MOST有用的窗口(分析)功能。

    I highly recommend that you try to understand these if you work with data in your job (i.e. data analysts, product analysts, data scientists, data engineers, etc…). They will certainly come in handy!

    如果您在工作中使用数据(例如,数据分析师,产品分析师,数据科学家,数据工程师等),我强烈建议您尝试理解这些内容。 他们一定会派上用场!

    With that said, let’s dive right into it.

    话虽如此,让我们深入研究它。

    To help you understand how these 5 window functions work, I’m going to use the following table as an example:

    为了帮助您了解这5个窗口函数的工作方式,我将使用下表作为示例:

    Image for post

    1.行号 (1. Row Number)

    What does it do? ROW_NUMBER simply returns the number of each row, starting at 1 for the first record.

    它有什么作用? ROW_NUMBER只是返回每行的编号,第一条记录从1开始。

    When is it Useful?Row number is extremely useful when you want to get the first or last record of a specific table. For example, if you have a table of customer purchases and you want to get the first purchase for each customer, you can PARTITION BY customer (name/id) and ORDER BY purchase date. Then you can filter the table WHERE row number = 1.

    什么时候有用? 当您要获取特定表的第一条或最后一条记录时,行号非常有用。 例如,如果您有一个客户购买表,并且想获得每个客户的第一次购买,则可以按客户PARTITION BY客户(名称/ ID)和ORDER BY购买日期。 然后,您可以在WHERE行号= 1的表中进行过滤。

    Example:Using my example above, let’s say I want to apply a row number to each row, split by gender and from the highest GPA to lowest. Then I could perform the following query to get the following result:

    例: 使用上面的示例,假设我要对每行应用行号,并按性别划分,从最高GPA到最低GPA。 然后,我可以执行以下查询以获得以下结果:

    SELECT *,
    ROW_NUMBER() OVER (PARTITION BY Gender ORDER BY GPA DESC) as rn
    FROM
    students
    Image for post

    Notice that because ORDERed BY GPA desc, the female and male with the highest GPA have a row number = 1.

    请注意,由于ORDER BY BY GPA desc,所以具有最高GPA的女性和男性的行号= 1。

    2.总和/计数 (2. Sum/Count)

    What does it do?SUM() and COUNT() are aggregate functions that either SUMs the values in a column or COUNTs the values in a column that are not null.

    它有什么作用? SUM()和COUNT()是聚合函数,用于对列中的值求和或对列中不为空的值进行计数。

    When is it Useful?By using SUM() or COUNT() in a window function, you can calculate cumulative sums or cumulative counts. This is extremely useful if you want to create graphs that show the growth of a specific metric (i.e. number of orders, revenue, etc…) over time.

    什么时候有用? 通过在窗口函数中使用SUM()或COUNT(),您可以计算累积总和或累积计数。 如果您要创建图表来显示特定指标(即订单数,收入等)随时间的增长,这将非常有用。

    Example:While this example doesn’t necessarily do justice, it will give you an understanding of how it works.

    例: 尽管此示例不一定是正义的,但它将使您对其工作原理有所了解。

    SELECT *,
    SUM(GPA) OVER (PARTITION BY Gender ORDER BY GPA DESC) as GPA_sum
    FROM
    students
    Image for post

    Notice how the column, GPA_sum, calculates the cumulative GPA (GPA for the given row plus the GPA for all previous rows).

    请注意GPA_sum列如何计算累积GPA(给定行的GPA加上之前所有行的GPA)。

    3.最小/最大 (3. Min/Max)

    What does it do?Just as you would use MIN()/MAX() in an aggregate function, you can also use it in a window function.

    它有什么作用? 就像在聚合函数中使用MIN()/ MAX()一样,您也可以在window函数中使用它。

    When is it Useful?Min/Max is useful if you want to compare each row with the highest/lowest value.

    什么时候有用? 如果要将每行与最高/最低值进行比较,则最小值/最大值很有用。

    Example:In the example below, we can use this to compare each student’s GPA with the highest GPA per gender. You can take this a step further and create a new column that calculates the difference between the two.

    例: 在下面的示例中,我们可以使用它来比较每个学生的GPA和每个性别的GPA最高。 您可以更进一步,并创建一个新列来计算两者之间的差异。

    SELECT *,
    MAX(GPA) OVER (PARTITION BY Gender ORDER BY GPA DESC) as Max_GPA
    Image for post

    4.落后/领先 (4. Lag/Lead)

    What does it do? / When is it Useful?LEAD() and LAG() are useful when you want to compare the values of previous rows or later rows.

    它有什么作用? /什么时候有用? 当您想比较前几行或后几行的值时,LEAD()和LAG()很有用。

    Example:Let’s say I wanted to compare each student’s GPA with the next student’s GPA that is just below his/hers. I can use the LAG() function to achieve this.

    例: 假设我想将每个学生的GPA与下一个学生的GPA进行比较。 我可以使用LAG()函数来实现这一点。

    SELECT *,
    LAG(GPA) OVER (ORDER BY GPA ASC) as Lower_GPA
    FROM
    students
    Image for post

    Notice how the first row is empty because there’s no previous row for it to refer to.

    注意第一行是空的,因为没有上一行可供参考。

    5.密集等级 (5. Dense Rank)

    What does it do?DENSE_RANK is similar to ROW_NUMBER except that it returns the same rank (number) for equal values.

    它有什么作用? DENSE_RANK与ROW_NUMBER类似,但它对于相同的值返回相同的等级(数字)。

    When is it Useful?DENSE_RANK is useful when you want to rank your data based on a particular variable or variables.

    什么时候有用? 当您要基于一个或多个特定变量对数据进行排名时,DENSE_RANK很有用。

    Example:If we wanted to rank the students from the lowest GPA to the highest, we could use the following code to achieve this.

    例: 如果我们想对学生的GPA从最低到最高进行排名,可以使用以下代码来实现。

    SELECT *,
    DENSE_RANK() OVER(ORDER BY GPA ASC) as Dense_rank
    Image for post

    Notice that Martin and Jason have the same GPA, and so, they have the same Dense_rank equal to 4.

    请注意,Martin和Jason的GPA相同,因此,它们的Dense_rank等于4。

    谢谢阅读! (Thanks for Reading!)

    By reading this article, you should not only know what a window function is, but you should also have a good grasp of its versatility and functionality. There are so many more ways that you can use window functions, but these five have definitely been the most useful in my career!

    通过阅读本文,您不仅应该了解窗口函数是什么,而且还应该掌握其多功能性和功能。 您可以使用更多的功能来使用窗口功能,但是这五个绝对是我职业中最有用的!

    特伦斯·辛 (Terence Shin)

    翻译自: https://towardsdatascience.com/5-most-useful-window-functions-in-sql-you-should-know-35ea50ecd49e

    sql 窗口函数

    展开全文
  • SQL Developer 设置sql窗口字体大小 菜单栏:Tools -》 Prefences Prefences -> User Interface -> Fonts -> Editor -> select

    SQL Developer 设置sql窗口字体大小

    • 菜单栏:Tools -》 Prefences

    在这里插入图片描述

    • Prefences -> User Interface -> Fonts -> Editor -> select
      在这里插入图片描述
    展开全文
  • SQL窗口函数速查表.pdf

    2020-10-30 21:56:00
    文件是 SQL 窗口函数速查表,提供了关于窗口函数的语法定义和各个选项的介绍,同时还提供了常用窗口函数的作用以及使用方法。
  • pl/sql developer 快捷操作: 显示不可见字符 显示历史sql语句 拷贝整个sql窗口的语句至新的sql窗口 显示不可见字符:可以把空格、回车显示出来; 显示历史sql语句:ctrl+e,不仅仅包含这个数据库的sql语句,还有...

    pl/sql developer 快捷操作: 显示不可见字符 显示历史sql语句 拷贝整个sql窗口的语句至新的sql窗口

    显示不可见字符:可以把空格、回车显示出来;

    显示历史sql语句:ctrl+e,不仅仅包含这个数据库的sql语句,还有其他数据库的;必须在sql窗口才可以激活这个功能;

    拷贝整个sql语句至新的sql窗口:可以进行快捷的备份、修改;

     

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

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

    千次阅读 2017-11-01 11:57:58
    如果想让左边展示使用的sql窗口列表,需要使用tool-->窗口列表,但是这个只是当时存在,如果想让每次打开都这样,需要工具--》首选项--》用户界面--》选项--》自动保存桌面
  • SQL窗口函数与聚合表达式
  • pl/sql sql窗口允许输出和允许变量替换 允许输出:类似在命令窗口中输入的 setserveroutput on; 允许变量替换:如果点击了这个,类似于执行 set define off命令   在pl/sql的SQL窗口中,使用变量替换的时候,同一...
  • PL/SQL Developer如何关闭所有SQL窗口

    千次阅读 2019-07-04 14:10:48
    要在一大堆数据库表里找一个表,只好一个个打开看看,但打开的多了会占内存,所以需要关闭全部SQL窗口,在windows下的列表中不可多选,也没有关闭全部的操作,怎么办呢? 参照这个网页:http:/...
  • 案例分析:SQL 窗口函数实现高效分页查询

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

    千次阅读 2018-02-11 11:13:29
    SW(SQL窗口): 执行的是dml,ddl语句,主要用户语句的查询、显示、执行统计信息等(应用最多的一个窗口)。例如 desc table不能在SQL window中执行,必须在Command window中才能执行。RW(报告窗口...
  •  新建sql窗口 粘贴sql插入语句 长时间不响应 显示初始化中 插入了大概有10000条数据,结果数据库直接卡死,效率特别低。那怎么解决呢?在网上查了一下资料。可以用以下几种方法:   1.新建命令窗口,粘贴sql插入...
  • PW(程序窗口): ...SW(SQL窗口): 执行的是dml,ddl语句,主要用户语句的查询、显示、执行统计信息等(应用最多的一个窗口)。例如 desc table不能在SQL window中执行,必须在Command window中才能执行。 ...
  • PL/sql 窗口作用介绍

    2018-03-21 09:45:56
    SW(SQL窗口): 执行的是dml,ddl语句,主要用户语句的查询、显示、执行统计信息等(应用最多的一个窗口)。例如 desc table不能在SQL window中执行,必须在Command window中才能执行。RW(报告窗...
  • SQL 窗口 declare ret integer; retmsg varchar2(200); begin proc_hotel_import(20,trunc(sysdate),ret,retmsg); dbms_output.put_line(‘V_result1=’ || to_char(ret,‘999999’)); – 打印 V_result1 的...
  • pl/sql Devloper 快捷键__新建sql窗口

    千次阅读 2017-05-03 09:56:00
    pl/sql Devloper 快捷键__新建sql窗口 首先,打开PLSQL,菜单栏--->首选项----->键配置 其次,点击你要增加快捷键的选项,直接键盘上输入快捷键; 比如你要修改为CTRL+N,...
  • 在leetcode刷数据库题目时,凡是中等难度及困难难度的题目必涉及到SQL窗口函数的应用。参考网上的相关知识,SQL窗口函数的内容点总结一下。数据库采用的是MySQL数据库。 窗口函数的介绍: 窗口函数作用于一个数据...
  • MySQL - SQL窗口函数

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

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

    千次阅读 2019-12-13 10:27:07
    窗口函数 文章目录窗口函数教程数据...通俗易懂的学会:SQL窗口函数 by 猴子 数据说明 数据为《sql面试50题》中的【成绩表】score,创建和插入数据可以在连接中找到。 sqlite 代码 我本地使用的是sqlite数据库。 m...
  • 建表完成后,不能立刻查到刚刚添加的数据。 oracle 11g, PL/SQL Developer图形化界面创建的表,用编辑数据添加了每列的数据,完成后...SQL窗口也查不到。 过20分钟,30分钟又能够查到了,是什么地方没设置对吗???
  • 执行环境:PL/SQL SQL窗口 报错信息: ora-00900:invalid sql statement ![图片说明](https://img-ask.csdn.net/upload/201705/16/1494899532_193401.jpg) ora-00923:FROM keword not found where expected ![图片...
  • SQL窗口函数篇

    千次阅读 2020-03-25 22:44:53
    一.SQL中的进阶函数 1.窗口函数 窗口函数和普通聚合函数的区别: ①聚合函数是将多条记录聚合为一条;窗口函数是每条记录都会执行,有几条记录执行完还是几条。 ②聚合函数也可以用于窗口函数。 原因就在于窗口...
  • sql 窗口查询

    2020-07-22 15:32:03
    WITH Produce AS (SELECT 'kale' as item, 23 as purchases, 'vegetable' as category UNION ALL SELECT 'orange', 2, 'fruit' UNION ALL SELECT 'cabbage', 9, 'vegetable' UNION ALL SELECT 'apple', 8, '...
  • SQL窗口函数(OLAP函数) 由于关系数据库提供支持OLAP用途功能时间不长,并且还有一部分DBMS不支持这个新功能(比如MYSQL)所以是个较为难的知识点。 窗口函数用法: <窗口函数> OVER ( [PARTITION BY <列...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,078
精华内容 5,631
关键字:

sql窗口