SQL练习题(二)

FreeRTOS OTA实战:从Bootloader设计到安全升级的完整流程(附MQTT示例代码) 本文详细介绍了在FreeRTOS系统中实现安全OTA固件升级的完整流程。内容涵盖从Bootloader设计、存储分区规划到与MQTT协议集成的OTA Agent任务开发,并重点解析了固件签名验证、防回滚等关键安全机制,为嵌入式物联网设备提供了一套高可靠性的远程升级解决方案。 阅读详情

目录

1.第N高的薪水(177)

2.分数排名(178)


1.第N高的薪水(177)

表: Employee

+-------------+------+
| Column Name | Type |
+-------------+------+
| id          | int  |
| salary      | int  |
+-------------+------+
Id是该表的主键列。
该表的每一行都包含有关员工工资的信息。

编写一个SQL查询来报告 Employee 表中第 n 高的工资。如果没有第 n 个最高工资,查询应该报告为 null 。

示例 1:

输入: 
Employee table:
+----+--------+
| id | salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+
n = 2
输出: 
+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| 200                    |
+------------------------+

示例 2:

输入: 
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1  | 100    |
+----+--------+
n = 2
输出: 
+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| null                   |
+------------------------+

两种解法:我想到的就是最简单的分页,直接用现成的limit就可以返回我们想要的数据。

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
declare m INT;
SET m = N-1;
  RETURN (
      # Write your MySQL query statement below.
      select ifnull
      (
          (
              select distinct salary
              from employee
              order by salary desc
              limit 1 offset m
          ), null
      )
  );
END

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
declare m INT;
SET m = N-1;
  RETURN (
      # Write your MySQL query statement below.
      select ifnull
      (
          (
              select distinct salary
              from employee
              order by salary desc
              limit m,1
          ), null
      )
  );
END

2.分数排名(178)

表: Scores

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| score       | decimal |
+-------------+---------+
Id是该表的主键。
该表的每一行都包含了一场比赛的分数。Score是一个有两位小数点的浮点值。

编写 SQL 查询对分数进行排序。排名按以下规则计算:

  • 分数应按从高到低排列。
  • 如果两个分数相等,那么两个分数的排名应该相同。
  • 在排名相同的分数后,排名数应该是下一个连续的整数。换句话说,排名之间不应该有空缺的数字。

按 score 降序返回结果表。

示例 1:

输入: 
Scores 表:
+----+-------+
| id | score |
+----+-------+
| 1  | 3.50  |
| 2  | 3.65  |
| 3  | 4.00  |
| 4  | 3.85  |
| 5  | 4.00  |
| 6  | 3.65  |
+----+-------+
输出: 
+-------+------+
| score | rank |
+-------+------+
| 4.00  | 1    |
| 4.00  | 1    |
| 3.85  | 2    |
| 3.65  | 3    |
| 3.65  | 3    |
| 3.50  | 4    |
+-------+------+

答案:

方法一(力扣)

dense_rank() over
作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续。 说明:和rank() over 的作用相同,区别在于dense_rank() over 排名是密集连续的。例如学生排名,使用这个函数,成绩相同的两名是并列,下一位同学接着下一个名次。即:1 1 2 3 4 5 5 6

# Write your MySQL query statement below
SELECT 
    score,tmp.rank
FROM 
    (SELECT 
        score, dense_rank() over (ORDER BY score DESC) AS 'rank'
      FROM 
        scores) tmp
ORDER BY score DESC

方法二(力扣)

第一步:对去重后的分数进行排序,并增加一个自增列,得到去重排序

@rank_no:=0,设置变量@rank_no的初始值为0。

@rank_no:=@rank_no+1,累加@rank_no的值。

select score,(@rank_no := @rank_no + 1) as 'rank'
from 
    (select distinct score from scores) s,
    (select @rank_no := 0) t
order by score desc

第二步:把上面的结果和我们的scores表关联,最终得到没去重的排序。

select
    a.score,
    b.rank
from 
    Scores a
    inner join
    (第一步的数据) b
    on a.score = b.score
order by a.score desc;
select
    a.score,
    b.rank
from 
    Scores a
    inner join
    (select score,(@rank_no := @rank_no + 1) as 'rank'
    from (select distinct score from scores) s,(select @rank_no := 0) t
    order by score desc) b
    on a.score = b.score
order by a.score desc;

【软考高级架构】论文范文17——论软件系统架构评估及其应用(ATAM) 软件系统架构评估是保障系统质量属性满足业务目标的关键环节,架构权衡分析方法(Architecture Trade-off Analysis Method,ATAM)作为一种主流的架构评估方法,通过场景识别、敏感点与权衡点分析、风险与非风险决策识别等系统化活动,能够在架构设计早期发现潜在问题,降低后期修改成本。本文以笔者主导的某省级智慧医疗平台架构评估项目为案例,围绕ATAM方法的应用展开论述。笔者担任系统架构师,负责组织评估团队、引导场景捕获、分析架构决策、识别风险与权衡点。 阅读详情

相关推荐

Aspose Java 25.10 版本深度破解:基于字节码修改的实战指南

本文提供了Aspose Java 25.10版本基于字节码修改的实战指南。详细介绍了如何通过Javassist工具逆向分析并修改Aspose Cells、Words、Slides及PDF组件的许可证验证逻辑,从而实现绕过限制,并完成最终的打包与功能验证。

stone的博客 1349

数据库 —— 二、SQL练习题

数据库 —— 二、SQL练习题

wahaha51的博客 813

Unity UI Toolkit避坑指南:从官方Samples到实际项目,这些‘坑’我帮你踩过了

本文分享了Unity UI Toolkit在实际项目中的避坑经验和优化技巧,包括动画系统的高效替代方案、3D世界UI的创新实现方式、USS样式继承的反直觉规则等。通过详细的代码示例和性能优化策略,帮助开发者避免常见陷阱,提升开发效率。

weixin_29535577的博客 341

MySQL(二)MySQL SQL练习题

MySQL练习题

HK的博客 1万+

基于STM32 HAL库的L298N四驱电机PWM调速与方向控制实战

本文详细介绍了基于STM32 HAL库驱动L298N电机控制板实现四驱小车PWM调速与方向控制的实战方法。涵盖硬件连接、GPIO与定时器配置、PWM生成、方向控制逻辑及电源管理等核心内容,并提供代码优化与常见问题解决方案,帮助开发者快速实现高效稳定的电机控制。

jump7的博客 221

保姆级!n8n 公众号自动化:从 0 搭 “写文案 + 生图 + 发草稿” 全流程

【摘要】本文介绍如何利用n8n搭建全自动公众号内容发布流程,涵盖AI文案生成、封面图制作到自动发布的全链路解决方案。通过对接OpenRouter大模型、阿里云百炼生图API及微信官方接口,实现从内容创作到发布的自动化。重点包括:1)n8n微信节点安装配置;2)大模型API授权与提示词优化技巧;3)图片生成与格式转换处理;4)公众号接口授权注意事项;5)草稿自动生成参数设置要点。特别提醒首次配置时需关闭自动发布功能以检查效果,避免格式错误导致发布失败。该方案无需复杂编程,适合运营人员快速搭建自动化内容生产流程

Jacket0603的博客 1588

第十五:MYSQL-SQL练习题(二)

【代码】第十五:MYSQL-SQL练习题(二)

欢迎来到本博客! 397

光栅衍射有入射角时_衍射型多焦点人工晶体光学原理

多焦点人工晶体如何把光线分成多个焦点的?这个问题大部分专业书只是蜻蜓点水,并没有讲明白。希此文粗浅的解释,能帮您加深理解,请多指正。接下来,我将按照一下历史发展的顺序讲解一下:光的认识、菲涅尔灯塔(菲涅尔透镜)、菲涅尔波带盘(半波带盘)、多焦点人工晶体。一:首先复习一下光的认识历史。我们现在都知道光是一种电磁波,具有波粒二相性,但是认识光的本质也经历非常曲折漫长的过程。牛顿时代的几何光...

weixin_28963467的博客 2351

SQL练习题二

8、列出在部门SALES工作的员工的姓名、基本工资、雇佣日期、部门名称,假定不知道该部门的部门编号。1、列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。4、列出雇佣日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。5、列出部门名称和这些部门的员工信息(人数、平均工资),同时列出那些没有员工的部门。12、列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。17、列出各个部门的MANAGER的最低薪金、姓名、部门名称、部门人数。

kygooooo的博客 1833

基于YOLOv26的卫星遥感环境监测系统

本文介绍了一个基于YOLOv26的卫星遥感环境监测系统。该系统采用分层架构设计,包含数据采集、预处理、目标检测、图像分析、变化检测等核心模块。技术栈包括YOLOv26、PyTorch、OpenCV等深度学习框架和图像处理工具,以及GDAL、rasterio等地理信息处理库。系统支持获取多种卫星数据源(如Sentinel、Landsat、MODIS)的遥感图像,并进行时间序列分析。通过代码示例展示了数据采集模块的实现,包括卫星图像获取和模拟生成功能。该系统可应用于环境要素检测、变化监测等场景,为环境监测提供智

一键难忘的博客 931

KVM — 与 QEMU 和 Libvirt 的关系

目录目录 前言 KVM QEMU KVM 与 QEMU qemu-kvm Libvirt Libvirt 在 OpenStack 中的应用前言如果是刚开始接触虚拟机技术的话, 对上述的概念肯定会有所混淆, 傻傻的分不清. 尤其在看虚拟化技术文档时导致理解能力下降, 所以在开始学习虚拟化技术之前对这些概念有一个整体的认识和清晰的理解, 就显得很有必要了.KVMKVM(Kernel-basedVirtu

烟云的计算 5732

SQL语句练习题一和练习题二

作业

weixin_57611136的博客 865

Atlas 300I Duo - vllm部署Qwen3-VL-8B-Instruct

本文介绍了在Ascend NPU环境下部署Qwen3-VL-8B大语言模型的步骤。主要包括:1)安装驱动、docker和vllm镜像;2)创建特权容器并挂载设备与目录;3)进入容器安装指定版本的transformers;4)设置环境变量和NPU卡配置;5)启动vllm服务;6)测试API接口。部署过程涉及多块NPU卡的使用,需注意内存碎片化问题,最终通过vllm框架提供模型推理服务。

m0_50105717的博客 1560

经典SQL练习题(二)

》关于MySQL的基础语法可参考:ytraister的码云课件、菜鸟教程SQL 》本文练习题来自该文章:50道SQL练习题 做题前先要下载好MySQL,并开启服务 关于如何下载安装参考之前编写的blog:MySQL的windows安装方法 cmd 管理员权限 >net start mysql # 启动mysql服务 >mysql -uroot -p # 运行/登录mysql >show databases; # 查看所有数据库 >create database 数据库名称 # 创

ytraister的博客 511

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SQL 练习题二

以下是一个订货管理数据库,其中有仓库表、职工表、订购单表、供货商表。 仓库表: 仓库号 城市 面积 wh1 北京 370 wh2 上海 500 wh3 广州 200 wh4 武汉 400 职...

weixin_30470857的博客 2833

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Sql 练习题 (二)

(30)统计每个系的男生人数和女生人数以及男生的最大年龄和女生的最大年龄,结果按系名的升序排序。(19)查询C002和C003课程中考试成绩在80~90的学生的学号、课程号和成绩。(11)查询信息管理系、通信工程系和计算机系三个系之外的其他系学生的姓名和性别。(20)查询修了“C002”课程的学生的学号及成绩,查询结果按成绩降序排列。(14)查询名字的第2个字为“小”或“大”的学生的姓名和学号。(13)查询姓“张”、姓“李”和姓“刘”的学生的详细信息。(17)查询还没有考试的学生的学号和相应的课程号。

m0_73491667的博客 3844

sql 练习题 (二)

创建表: 员工 employees 工资表 salary 部门 departments create or replace table employees( empID INT(10) NOT NULL UNIQUE PRIMARY KEY , empName VARCHAR(20) NOT NULL , #姓名 sex VARCHAR(4) , #性...

weixin_30443731的博客 1654

SQL练习题二(按等级显示,递归钻取)

SQL练习题二(按等级显示,递归钻取) 有一张地区市的表TABLE2,如图 要得到如下结果: 一、表TABLE2的创建数据 CREATE TABLE TABLE2( ID INT, NAME VARCHAR(15), PARENTID INT ) INSERT INTO TABLE2 VALUES (1,'北京市',0); INSERT INTO TABLE2 VALUES (2,'广东省',0); INSERT INTO TABLE2 VALUES (3,'昌平区',1); INSERT INT

qq_47255712的博客 544

sql server 经典练习题分享二

26、查询存在有85分以上成绩的课程Cno. SELECT DISTINCT cno FROM dbo.scores WHERE degree>85 27、查询出“计算机系“教师所教课程的成绩表。 SELECT tname,prof,cname,depart,degree FROM dbo.scores INNER JOIN dbo.courses ON dbo.courses.cno = dbo.scores.cno INNER JOIN dbo.teachers ON dbo.teac

m0_46750062的博客 917

SQL语句练习题(二)

SQL语句的二些练习题.

Zombie_QP的博客 434

SQL语句的练习题(二)

本篇博客的内容是SQL语句的练习题(一) 的续篇! 3、门店分析 1).按客流量找出最受欢迎的门店 2).按客户消费额找出最受欢迎的门店 3).按交易频次找出最受欢迎的门店 4).按客流量找出每个门店最受欢迎的商品 5).统计每个门店客流量与雇员的比率 6).按年度-月份统计每家门店的收益 7).找出每家门店最繁忙的时刻 -- 3.1 按客流量找出最受欢迎的门店 select ts.store_id, ss.store_name, count(distinct customer_id) as to

qq_43368947的博客 524

SQL*PLUS详解 | 复习笔记与配套练习题(二)

的基础操作和核心命令展开,包括如何连接数据库、常用命令、数据字典的查询以及数据库的启动阶段。:SQL*PLUS 是 Oracle 提供的命令行工具,专用于与 Oracle 数据库交互。PLUS 的核心知识点,搭配常见的练习题,帮助你快速掌握本章内容。:A. SQL*PLUS 是 Oracle 数据库的专用访问工具。命令用于将 SQL*PLUS 的输出重定向到指定的文件中。命令用于连接到一个新的数据库用户,会启动一个新的会话。命令后跟其他命令的名称,可以查看该命令的使用说明。命令用于显示当前连接的用户名。

2403_86977424的博客 1099

SQL面试练习题二(常用函数)

使用的表和数据与《PL/SQL练习题一》是一样的。 对日期函数的使用: Count(*) of orders last week SELECT COUNT(*) FROM order_list WHERE order_date < TRUNC(SYSDATE,'DAY') AND order_date >= TRUNC(SYSDATE,'DAY')-7 Count(*)...

我的学习成长日记 2067

精选 SQL 实战练习题详细题解(二)

“SQL是指“结构化查询语言”,是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL是关系型数据库的标准语言,所有的关系型数据库管理系统(RDBMS),比如 MySQL、Oracle、SQL Server、MS Access、Sybase、Informix、Postgres 等,都将 SQL 作为其标准处理语言。”

Java技术一点通 1034

SQL语句学习 练习题(二)

3、将在2018-05-01 00:00:00到2018-05-01 00:23:59内浏览了“购物”类型网络的用户ID更新为“0002567543”2、查询出每个用户访问的页面类型为“理财”的第一个URL(按时间)的记录,以及统计每个用户记录数形成字段Count。题目:查询至少有一门课与学号为“01”的同学所学相同的同学信息。

zhaoxia_iii的博客 196
上一篇: 力扣算法练习(一)
下一篇: 力扣算法练习(二)
低调$(生活)
博客等级 码龄6年 4689粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低调$(生活)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值