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

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

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

    Change Dir

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

    統(tǒng)計

    留言簿(18)

    積分與排名

    “牛”們的博客

    各個公司技術(shù)

    我的鏈接

    淘寶技術(shù)

    閱讀排行榜

    評論排行榜

    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

     

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

    最后的結(jié)果是894ms,當(dāng)然我堅信有很多更快更高效的結(jié)果。

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

    評論

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

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

    主站蜘蛛池模板: 黄色网址在线免费| 成全视频免费高清| 成人福利免费视频| 亚洲欧洲日产国码高潮αv| 亚洲AV成人精品日韩一区| 成人黄页网站免费观看大全| ww亚洲ww在线观看国产| 在线视频网址免费播放| 国产亚洲自拍一区| 91在线视频免费观看| 亚洲AV无码国产在丝袜线观看| 亚洲精品无码久久久久APP| 麻豆国产入口在线观看免费| 亚洲精品无码不卡| h片在线播放免费高清| 最新中文字幕电影免费观看| 亚洲中文无码永久免费| 四虎永久免费影院| 最近中文字幕免费大全| 久久亚洲精品成人无码网站| 嫩草在线视频www免费看| 亚洲激情在线观看| 国内精品免费视频自在线| 亚洲国产精品成人综合色在线婷婷 | 久久青青草原亚洲av无码app | 亚洲日韩精品无码专区网站| 亚洲人成77777在线观看网| 免费黄色app网站| 久久免费视频一区| 亚洲乱码中文论理电影| 久久国产色AV免费观看| 亚洲精品无码Av人在线观看国产| 成人久久久观看免费毛片| 久久亚洲精品视频| 日本特黄特色免费大片| 亚洲中文字幕无码中文| 四虎国产精品免费视| 无码少妇精品一区二区免费动态| 亚洲w码欧洲s码免费| 亚洲女久久久噜噜噜熟女| 国产精品无码免费专区午夜|