美文网首页
SQL每日一题(2020-06-23)

SQL每日一题(2020-06-23)

作者: 扎西的德勒 | 来源:发表于2020-06-23 10:20 被阅读0次

    题目:

    编写一个 SQL 查询,获取Employee 表中第二高的薪水(Salary) 。

    image

    例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。

    结果如下:

    image

    参考答案:

    数据库版本:Server version: 8.0.20 MySQL Community Server - GPL

    建表语句

    create table dailytest_20200623(
        id int,
        salary int);
    

    数据准备

    insert into dailytest_20200623 values (1,100),(2,200),(3,300),(4,300),(5,400);
    

    查询逻辑

    select A.id,
           A.salary
    from (select
            id,
            salary,
            rank() over (order by salary asc) as cn
          from dailytest_20200623) A
    where A.cn = 2;
    

    附:
    题目来源:https://mp.weixin.qq.com/s/PezIUSeIwrZr-T7bTMEwbQ
    参考:https://blog.csdn.net/shaiguchun9503/article/details/82349050

    相关文章

      网友评论

          本文标题:SQL每日一题(2020-06-23)

          本文链接:https://www.haomeiwen.com/subject/qupcfktx.html