zoukankan      html  css  js  c++  java
  • LeetCode 176. 第二高的薪水(MySQL版)

    0.前言

      最近刷LeetCode 刷数据库题目 由于数据库课上的是SQL,而MySQL有许多自己的函数的,怕把刚学会的函数忘记 特在此记录!

    1.题目

      

    编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
    
    +----+--------+
    | Id | Salary |
    +----+--------+
    | 1  | 100    |
    | 2  | 200    |
    | 3  | 300    |
    +----+--------+
    例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
    
    +---------------------+
    | SecondHighestSalary |
    +---------------------+
    | 200                 |
    +---------------------+
    

      

    2.用到的知识点

      

    limit : limit可以接收两个参数   limit 10 或者 limit 0,10

       前者表示查询显示前10行

      后者表示从第0行的往后10行,也就是第1行到第10行

    IFNULL(expression_1,expression_2);

      如果expression_1不为NULL 就显示自己,否则显示expression_2

      类似Java expression1 != null? expression1:expression2

    3.最终的SQL语句 

    select IFNULL
    (
    
    (select distinct Salary from Employee  order by Salary desc limit 1,1),(null)
    
    ) as SecondHighestSalary
    

      

  • 相关阅读:
    可汗学院公开课:统计学
    libsvm 之 easy.py(流程化脚本)注释
    机器学习概览
    学习资源
    libsvm-3.21使用文档
    Machine Learning
    Machine Learning
    MySQL 5.7半同步复制after sync和after commit详解【转】
    网站架构设计【转】
    httpd功能配置之虚拟主机【转】
  • 原文地址:https://www.cnblogs.com/dddyyy/p/10585697.html
Copyright © 2011-2022 走看看