AIGC ChatGPT4完成业务需求SQL学习

源表如下:

例如现在需要显示每个岗位中工资排名前10位的员工信息,并显示排名应该要怎么做呢?

Prompt: 有一个某公司职员表,表名为Bank_emp,empno为员工编号,ename为员工姓名,JOB为员工岗位,sal为工资,dept为部门,
请写出一个SQL语句来查询每个岗位下工资排名前10位的员工信息,显示员工编号,姓名,岗位,工资,部门,排名?

这个问题同样可以使用窗口函数ROW_NUMBER()RANK()DENSE_RANK()来解决。以下是使用ROW_NUMBER()的SQL语句:

sql复制代码

WITH ranked_employees AS ( SELECT empno, ename, JOB, sal, dept, ROW_NUMBER() OVER(PARTITION BY JOB ORDER BY sal DESC) as rank FROM Bank_emp ) SELECT empno, ename, JOB, sal, dept, rank FROM ranked_employees WHERE rank <= 10;

在这个查询中,我们先在ranked_employees的CTE中,为每个岗位的每个员工分配一个基于其工资降序排列的排名。然后,在主查询中,我们只选择每个岗位的排名在前10位的员工。

注意,如果你想在同一岗位、同一工资下有多个员工共享同一排名,可以使用RANK()DENSE_RANK()代替ROW_NUMBER()

将SQL复制到Navicat中进行测试;

将每个部门每个岗位下前10名的员工信息显示出来了。

接下来我们继续完成其它需求

例如 : 要显示工资大于整个人力资源部门的员工信息,要怎么实现呢?

Prompt : 有一个某公司职员表,表名为Bank_emp,empno为员工编号,ename为员工姓名,JOB为员工岗位,sal为工资,dept为部门,
请写出一个SQL语句来查询工资大于所有人力资源部的员工信息,显示员工编号,姓名,岗位,工资,部门?

要查询工资大于所有人力资源部员工的员工信息,您可以使用下列SQL语句。它首先在子查询中找到人力资源部的最高工资,然后在主查询中查找工资高于这个值的所有员工。

sql复制代码

SELECT empno, ename, JOB, sal, dept FROM Bank_emp WHERE sal > ( SELECT MAX(sal) FROM Bank_emp WHERE dept = '人力资源部' );

在这个查询中,“SELECT MAX(sal) FROM Bank_emp WHERE dept = '人力资源部'”是一个子查询,它会返回人力资源部的最高工资。然后,主查询将找出工资大于这个值的所有员工。请注意,这个语句假设'dept'列包含部门名称,如'人力资源部'。如果您的表结构不同,可能需要稍微修改这个查询以适应您的需求。

将SQL复制到Navicat中进行测试;

接下来我们完成下一个实例:

例如要显示每个岗位中工资最高的员工信息

Prompt: 有一个某公司职员表,表名为 Bank_emp,empno 为员工编号,ename为员工姓名,JOB为员工岗位,sal为工资,dept为部门,
请写出一个SQL语句来查询每个岗位下工资最高的员工信息,显示员工编号,姓名,岗位,工资,部门?

要查询每个岗位下工资最高的员工信息,可以使用窗口函数ROW_NUMBER()配合OVER()子句。假设同一岗位、同一工资下只有一个员工,SQL语句如下:

sql复制代码

WITH ranked_employees AS ( SELECT empno, ename, JOB, sal, dept, ROW_NUMBER() OVER(PARTITION BY JOB ORDER BY sal DESC) as rank FROM Bank_emp ) SELECT empno, ename, JOB, sal, dept FROM ranked_employees WHERE rank = 1;

这个查询首先在ranked_employees的CTE (Common Table Expressions,即公用表表达式) 中,为每个岗位的每个员工分配一个基于其工资降序排列的排名。然后,在主查询中,我们只选择每个岗位的排名为1(即工资最高)的员工。

如果同一岗位、同一工资下可能有多个员工,可以使用RANK()DENSE_RANK()代替ROW_NUMBER(),这样会为具有相同工资的员工分配相同的排名。

将SQL复制到Navicat中进行测试;

每个岗位工资最高的员工信息显示出来了。

更多精彩内容:

AIGC ChatGPT 职场案例
AI 绘画 与 短视频制作
PowerBI 商业智能 68集
数据库Mysql 8.0  54集
数据库Oracle 21C 142集
Office 2021实战应用
Python 数据分析实战,
ETL Informatica 数据仓库案例实战
Excel 2021实操 100集,
Excel 2021函数大全 80集
Excel 2021高级图表应用89集,
Excel 2021大屏可视化制作 56集
Excel 2021实用技巧300集
PPT 2021 商业汇报实战应用69集
数据分析可视化Tableau 80集
数据可视化FineReport 50集
送你各类文档模板PPT,表格,大屏可视化 超过5000+模板
案例实战 https://edu.csdn.net/combo/detail/2552

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计健壮且可扩展的软件系统

介绍 系统设计是定义系统的架构、组件、模块、接口和数据以满足特定需求的过程。它涉及就如何构建、维护和操作软件系统做出关键决策。在本文中&#xff0c;我们将深入探讨系统设计的各个方面&#xff0c;涵盖 25 个关键主题&#xff0c;以帮助您了解设计健壮且可扩展的软件系…

平滑升级旧版nginx,使其支持健康检测模组

nginx是部署在华为欧拉的docker容器中&#xff0c;版本是2203sp1.x86_64 查看旧版nginx的版本与编译配置信息&#xff1a; nginx -Vnginx version: nginx/1.14.1 built by gcc 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) built with OpenSSL 1.1.1g FIPS 21 Apr 2020 (running …

Hadoop-Yarn-NodeManager如何计算Linux系统上的资源信息

一、上下文 <Hadoop-Yarn-NodeManager都做了什么>中讲节点资源监控服务&#xff08;NodeResourceMonitorImpl&#xff09;时只是提了下SysInfoLinux&#xff0c;下面我们展开讲下 SysInfoLinux是用于计算Linux系统上的资源信息的插件 二、SysInfoLinux源码 package o…

前后图片对比控件使用

在build.gradle中添加依赖&#xff1a; implementation com.github.pavel163:BifacialView:1.4.1 在布局文件中&#xff1a; <com.ebr163.bifacialview.view.BifacialViewandroid:id"id/bv_before_after"android:layout_width"match_parent"android:la…

设计模式学习笔记 - 学前简述

1.为什么学习设计模式&#xff1f; 学习设计模式的原因&#xff1a; 应对面试中的设计模式相关问题&#xff1b;写出高质量代码&#xff0c;告别让人吐槽的烂代码&#xff1b;提高复杂代码的设计和开发能力让读源码、学习框架爱事半功倍&#xff1b;为职场发展铺垫。 设计模…

LNMP搭建discuz论坛

discuz论坛是一种网络论坛软件&#xff0c;也称bbs&#xff0c;它是一种用于在互联网上建立论坛社区的程序系统。只哟中功能强大的论坛软件&#xff0c;可以帮助用户建立一个专业、完善的论坛社区&#xff0c;并且可以实现多种功能&#xff0c;如搭建用户注册、登录、查看主题、…

vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据

文章目录 一、按需引入自定义组件&#xff1a;unplugin-vue-components1. 安装[unplugin-vue-components]2. 在vite中使用 二、自动导入依赖包&#xff1a;unplugin-auto-import1.安装2.vite.config.js配置3.使用效果 三、自动生成路由&#xff1a;vite-plugin-pages1、安装2、…

任务处理 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 在某个项目中有多个任务(用tasks数组表示)需要您进行处理&#xff0c;其中tasks[i][si,ei], 你可以在si < day < ei 中的任意一天处理该任务&#xff0c;请…

代码随想录day25--回溯的应用4

LeetCode491.非递减子序列 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;…

【目标跟踪】提供一种简单跟踪测距方法(c++)

文章目录 一、前言二、c代码2.1、Tracking2.2、KalmanTracking2.3、Hungarian2.4、TrackingInfo 三、调用示例四、结果 一、前言 在许多目标检测应用场景中&#xff0c;完完全全依赖目标检测对下游是很难做出有效判断&#xff0c;如漏检。检测后都会加入跟踪进行一些判断或者说…

中科星图——Landsat8_C2_ST数据集是经大气校正的地表温度数据

数据名称&#xff1a; Landsat8_C2_ST 数据来源&#xff1a; USGS 时空范围&#xff1a; 2020年1月-2023年3月 空间范围&#xff1a; 全国 数据简介&#xff1a; Landsat8_C2_ST数据集是经大气校正的地表温度数据&#xff0c;属于Collection2的二级数据产品&#xff0…

nginx 日志改为json格式

nginx 日志改为json格式 场景描述 正常使用nginx时&#xff0c;使用默认的日志输出格式&#xff0c;对于后续日志接入其他第三方日志收集、清洗环节&#xff0c;因分隔符问题可能不是很友好。 xxxx - - [19/Feb/2024:11:16:48 0800] "GET /time_feed HTTP/1.1" 20…

虚拟和现实的界限不存在了吗

Sora是美国人工智能公司OpenAI最新发布的“文生视频”大模型。与之前的模型相比&#xff0c;Sora能够一次性生成长达一分钟的高清视频&#xff0c;这是目前业内主流的数秒钟版本所无法比拟的。Sora的发布在市场上引起了极大的关注&#xff0c;并被认为是人工智能领域的一次重大…

Spring boot 实现监听 Redis key 失效事件

一. 开启Redis key过期提醒 方式一&#xff1a;修改配置文件 redis.conf # 默认 notify-keyspace-events "" notify-keyspace-events Ex方式二&#xff1a;命令行开启 CONFIG SET notify-keyspace-events Ex CONFIG GET notify-keyspace-events二. notify-keyspace-e…

【Java EE初阶十三】网络初识

1. 网络发展史 网络发展的几个主要时期&#xff1a; 单机时代->局域网时代->广域网时代->移动互联网时代 随着时代的发展&#xff0c;越来越需要计算机之间互相通信&#xff0c;共享软件和数据&#xff0c;即以多个计算机协同工作来完成 业务&#xff0c;就有了网络互…

行人重识别

&#xfeff;在人的感知系统所获得的信息中&#xff0c;视觉信息大约占到80%&#xff5e;85%。行人重识别&#xff08;person re-identification&#xff09;是近几年智能视频分析领域兴起的一项新技术&#xff0c;属于在复杂视频环境下的图像处理和分析范畴&#xff0c;是许多…

300分钟吃透分布式缓存-02讲:如何根据业务来选择缓存模式和组件?

缓存读写模式 如下图&#xff0c;业务系统读写缓存有 3 种模式&#xff1a; & Cache Aside&#xff08;旁路缓存&#xff09; & Read/Write Through&#xff08;读写穿透&#xff09; & Write Behind Caching&#xff08;异步缓存写入&#xff09; Cache Asid…

redis 值中文显示乱码

问题&#xff1a; 解决办法&#xff1a; exit退出 进入时添加 --raw参数

【软件设计师】程序猿需掌握的技能——数据流图

作为一个程序员&#xff0c;不仅要具备高水平的程序编码能力&#xff0c;还要是熟练掌握软件设计的方法和技术&#xff0c;具有一定的软件设计能力&#xff0c;一般包括软件分析设计图&#xff08;常见的有数据流图&#xff0c;程序流程图&#xff0c;系统流程图&#xff0c;E-…

面试官:能不能给 Promise 增加取消功能和进度通知功能... 我:???

扯皮 这段时间闲着没事就去翻翻红宝书&#xff0c;已经看到 Promise 篇了&#xff0c;今天又让我翻到两个陌生的知识点。 因为 Promise 业务场景太多了自我感觉掌握的也比较透彻&#xff0c;之前也跟着 Promise A 的规范手写过完整的 Promise&#xff0c;所以这部分内容基本上…