首页 > 数据库 >leetcode-sql-176 求部门第二高的薪水

leetcode-sql-176 求部门第二高的薪水

时间:2022-09-30 09:24:06浏览次数:56  
标签:salary 薪水 +---------------------+ +----+--------+ sql Employee 176 null leetcode

SQL架构 Employee 表:

+-------------+------+
| Column Name | Type |
+-------------+------+
| id          | int  |
| salary      | int  |
+-------------+------+
id 是这个表的主键。
表的每一行包含员工的工资信息。

 

编写一个 SQL 查询,获取并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null 。

查询结果如下例所示。

 

示例 1:

输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+
输出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| 200                 |
+---------------------+

示例 2:

输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1  | 100    |
+----+--------+
输出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| null                |
+---------------------+

解答:

可以按照薪水从高到低排序,查出去重的salary表,这样每种薪水只有一条了,然后我们用limit1 1,每页1条数据输出第2页的数据,也就是第二高的薪水

题目要求如果不存在则输出null,可以把这个查出来的数据看作一张表,再select一下,如果没有数据就出null

select (select distinct salary from Employee order by salary desc limit 1,1 )  as SecondHighestSalary 

 

标签:salary,薪水,+---------------------+,+----+--------+,sql,Employee,176,null,leetcode
From: https://www.cnblogs.com/phonk/p/16743774.html

相关文章

  • Oracle常用SQL
    【统计数据条数大于2的】  SELECTSERIAL_NUMBERFROMV_SIMPLE_ENTRUSTMANAGEMENT GROUPBYSERIAL_NUMBERHAVINGCOUNT(SERIAL_NUMBER)>2 【表注释查询】  SE......
  • SQL 循环语句几种写法
    摘自:https://www.cnblogs.com/guorongtao/p/11939751.html1、正常循环语句declare@orderNumvarchar(255)createtable#ttableName(idintidentity(1,1),Ordersvar......
  • [Oracle] LeetCode 146 LRU Cache 经典题
    DesignadatastructurethatfollowstheconstraintsofaLeastRecentlyUsed(LRU)cache.ImplementtheLRUCacheclass:LRUCache(intcapacity)Initializethe......
  • mysql安全基础(1)常见语句
    上一篇: docker安装和登陆mysql发现用docker安装mysql非常简洁方便快速,继续学习。1.查看当前数据库排行榜可以通过当前数据库使用排行榜:db-engines.comThemostpopula......
  • python 连接 sqlite3 文件
     #0.pipinstallpymysql#1.导入pymysqlimportpymsql#2.创建一个数据库连接对象#3.创建游标cursor=conn.cursor()#4.SQL执行cursor.execute(sql)......
  • 学习 MySQL 需要知道的 28 个小技巧
    如何快速掌握MySQL?培养兴趣兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。不管学习 MySQL5.7 还是 MySQL8.0 都不例外!夯实SQL基础计算机领......
  • MySQL——SQL加锁机制简要分析
    前提:针对于InnoDB引擎行锁讨论 锁机制MySQL的锁机制可以分为:锁模型(lock mode)和锁类型(locktype) 锁模型(lock mode)共享锁&排他锁InnoDB实现了两种类型的......
  • sql 行列转换
    行列转换实例表ttt有三个字段seq--序列jcxm--检查项目zhi--值数据分别如下:seqjcxmzhi-----------------------111......
  • 随说秋色园从Access升迁到MSSQL过程
    ​ ​​秋色园​​的运行环境概况:目前运行在国外godaddy的虚拟主机的一个子目录中,数据库为Access。 随说Access分页:​ 1:topmax(id)在​​CYQ.Data​​数据框架支持上Ac......
  • leetcode 226. Invert Binary Tree 翻转二叉树(简单)
    一、题目大意给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输......