SQL 语句-partition by「建议收藏」

SQL 语句-partition by「建议收藏」/****** ******/ 初始化数据 create table employee (empid int, deptid int, salary decimal(10, 2)) insert i…

SQL 语句-partition by

empid       deptid      salary
----------- ----------- ---------------------------------------
1           10          5500.00
2           10          4500.00
3           20          1900.00
4           20          4800.00
5           40          6500.00
6           40          14500.00
7           40          44500.00
8           50          6500.00
9           50          7500.00

代码100分

需求:根据部门分组,显示每个部门的工资等级。

SQL脚本:

代码100分SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank 
FROM employee
empid       deptid      salary                                  rank
----------- ----------- --------------------------------------- --------------------
1           10          5500.00                                 1
2           10          4500.00                                 2
4           20          4800.00                                 1
3           20          1900.00                                 2
7           40          44500.00                                1
6           40          14500.00                                2
5           40          6500.00                                 3
9           50          7500.00                                 1
8           50          6500.00                                 2

SQL脚本:

代码100分SELECT *
FROM
    (SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) R
     FROM employee) B
WHERE B.R =1
 
#只显示部门工资最高的
/******  ******/
 select *
  from (
  select name,学科,成绩,ROW_NUMBER() over (PARTITION by 学科 order by 成绩 desc) as num
  from [XSBOOK].[dbo].[XKCJ]) T
  where T.num <= 3 order by T.学科
  
name       学科         成绩          num
---------- ---------- ----------- --------------------
李四         数学         98          1
李四         数学         95          2
张三         数学         93          3
张三         英语         92          1
张三         英语         92          2
李四         英语         90          3
李四         语文         85          1
李四         语文         81          2
张三         语文         80          3

语法形式:ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)

解释:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10121.html

(0)
上一篇 2023-01-25 12:30
下一篇 2023-01-25

相关推荐

  • Python字典:快速索引数据,实现高效运算

    Python字典:快速索引数据,实现高效运算Python字典是一种灵活且高效的数据结构,可以用于存储和操作键-值对,其中键必须是唯一的,且不可变的数据类型(例如字符串、数字、元组)。字典是Python标准库中的内置类型之一,使用花括号{}表示。

    2023-12-16
    107
  • 如何在Pycharm中删除项目

    如何在Pycharm中删除项目PyCharm是一款比较流行的Python IDE(集成开发环境),它为Python开发者提供了非常方便的开发环境。如果你是一个PyCharm用户,你可能会发现自己在使用它的时候,会有一些不必要的项目残留在你的开发环境中。那么,在这种情况下,如何从PyCharm中删除这些项目呢?本文将从多个方面详细介绍如何在Pycharm中删除项目。

    2024-09-03
    26
  • clickhouse github_clickhouse projection

    clickhouse github_clickhouse projection一、Installing ClickHouse-22.10.2.11 on openEuler 1 地址 https://clickhouse.com https://packages.clickho

    2023-06-15
    152
  • 以开源力量引领下一个十年的数据库变革,PingCAP 获分布式数据库领导力奖

    以开源力量引领下一个十年的数据库变革,PingCAP 获分布式数据库领导力奖4 月 7 日至 8 日,由全球分布式云联盟、亚太 CDN 产业联盟、众视 Tech 主办的 2021 GDCC 全球分布式云大会在北京举行,PingCAP 联合创始人兼 CTO 黄东旭受邀参会发表…

    2023-04-11
    148
  • Prewitt算子:图像边缘检测的基础算法

    Prewitt算子:图像边缘检测的基础算法图像边缘检测是图像处理中的一个重要任务,其可以用来提取图像中的信息,例如物体的轮廓、几何形状等,因此广泛应用于计算机视觉、图像识别、人工智能等领域。Prewitt算子是一种非常经典的边缘检测算法,其基于图像的梯度来提取图像的边缘信息,并且容易实现,因此被广泛采用。

    2024-05-22
    60
  • Python代码如何运行

    Python代码如何运行Python是一门用途广泛的编程语言,运行Python程序有多种方式。无论是在终端中运行还是在集成开发环境(IDE)中运行,Python程序都可以通过解释器执行。本文将介绍如何使用解释器来运行Python代码,以及其他一些与运行Python代码相关的知识。

    2024-08-18
    36
  • Python代码注释:提高代码可读性的技巧

    Python代码注释:提高代码可读性的技巧a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-01-08
    106
  • 数据库怎么安装教程_数据管理dms

    数据库怎么安装教程_数据管理dms依赖工具安装 安装JDK1.8(自行安装) 安装JAVA开发工具Idea、eclipse等一个(自行安装) 安装Git (自行安装) 安装Mysql数据库8版本 (自行安装),数据库账号和密码请与k…

    2023-01-28
    159

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注