<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Change Dir

    先知cd——熱愛生活是一切藝術的開始

    統計

    留言簿(18)

    積分與排名

    “?!眰兊牟┛?/h3>

    各個公司技術

    我的鏈接

    淘寶技術

    閱讀排行榜

    評論排行榜

    Leetcode-Database-176-Second Highest Salary-Easy

    leetcode地址:https://oj.leetcode.com/problems/second-highest-salary/

     

    這個問題很有趣,是要求我們寫個sql來查詢Employee表里第二高的工資,如果沒有第二高的,那么返回null。

    +----+--------+
    | Id | Salary |
    +----+--------+
    | 1  | 100    |
    | 2  | 200    |
    | 3  | 300    |
    +----+--------+

     

     

    看到這個問題,可能很多人會想,這很簡單啊,寫個order by desc,然后找到第二個即可。

    select Salary from Employee order by Salary desc limit 1,1

    試試提交唄?Wrong answer,為什么?看條件約束啊,沒有第二要返回null,我看到null的第一直覺是通過join搞到null值,于是有了下面的ac sql

    select
        max(Salary) as SecondHighestSalary
    from(
    select
    o1.*
    ,case when o2.s is null then 1 else 0 end as nt
    from
    (select * from Employee)o1
    left outer join
    (select max(Salary) as s from Employee)o2
    on(o1.Salary=o2.s)
    )t
    where nt=1

     

    思路簡單說就是通過全表左外聯最大salary,從關聯不到的salary里再找最大不就是第二大嗎?

    最后的結果是894ms,當然我堅信有很多更快更高效的結果。

    posted on 2015-01-27 16:38 changedi 閱讀(2803) 評論(1)  編輯  收藏 所屬分類: 數據

    評論

    # re: Leetcode-Database-176-Second Highest Salary-Easy 2015-01-31 17:59 京山游俠

    mark。
    你的博客中引用了不該引用的JavaScript,頁面很難打開啊。  回復  更多評論   

    主站蜘蛛池模板: 波多野结衣一区二区免费视频| 中文字幕无码免费久久99| 亚洲福利精品一区二区三区| 亚洲日本在线电影| 成年午夜视频免费观看视频| 亚洲精品中文字幕无乱码麻豆| 精品无码AV无码免费专区| 亚洲国产第一页www| 亚洲视频在线免费观看| 久久精品亚洲中文字幕无码麻豆 | 亚洲av色香蕉一区二区三区| 国产精品久久久久久久久久免费| 亚洲av成人一区二区三区| 97人伦色伦成人免费视频 | 欧美激情综合亚洲一二区| 国产高清免费在线| 欧洲精品码一区二区三区免费看| 日韩精品成人亚洲专区| 中文无码日韩欧免费视频| 婷婷亚洲久悠悠色悠在线播放| 最近中文字幕大全免费视频| 亚洲中文字幕在线无码一区二区 | 色播精品免费小视频| 在线观看亚洲AV每日更新无码| 在线看片无码永久免费aⅴ| 免费人成在线观看播放a| 亚洲午夜国产精品无码老牛影视| 少妇人妻偷人精品免费视频| 亚洲一区二区三区高清不卡| 国产男女猛烈无遮挡免费视频| 一区二区在线视频免费观看| 亚洲第一精品在线视频| 日本精品人妻无码免费大全| 国产成人精品日本亚洲语音| 亚洲精品无码乱码成人| 两性刺激生活片免费视频| 全部一级一级毛片免费看| 伊人久久综在合线亚洲2019| 国产精品国产自线拍免费软件| 中文字幕在线免费视频| 亚洲制服在线观看|