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

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

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

    Change Dir

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

    統計

    留言簿(18)

    積分與排名

    “牛”們的博客

    各個公司技術

    我的鏈接

    淘寶技術

    閱讀排行榜

    評論排行榜

    Leetcode-Database-178-Rank Scores-Medium

    題目地址:https://oj.leetcode.com/problems/rank-scores/

     

    這個問題很有趣,寫一個類似oracle里的窗口函數rank(),具體描述一下,有一張數據表Scores,里面有兩個字段IdScore,具體結構如下:

    +----+-------+
    | Id | Score |
    +----+-------+
    | 1  | 3.50  |
    | 2  | 3.65  |
    | 3  | 4.00  |
    | 4  | 3.85  |
    | 5  | 4.00  |
    | 6  | 3.65  |
    +----+-------+

     

     

    任務是要寫一個sql來給Score字段打一個rank標識,條件是按照Score從大到小排序,相等情況時rank相同,且rank之間沒有“洞”,即rank字段是連續值。顯然這個任務比rank窗口函數容易一些,但是也是一個棘手的問題。

    題目具體給出了輸出示例:

    +-------+------+
    | Score | Rank |
    +-------+------+
    | 4.00  | 1    |
    | 4.00  | 1    |
    | 3.85  | 2    |
    |
     3.65  | 3    |
    | 3.65  | 3    |
    | 3.50  | 4    |
    +-------+------+

     

     

    平常說實話rank函數或者row_number函數用多了,很少考慮實現,面對這個問題,硬著頭皮用笛卡爾積的join解決了,若是在hive中,strict模式可能拒絕笛卡爾積的join,這時還是求助于窗口函數rank~~

     

    實現代碼如下:

    select
    o1.Score
    ,count(o2.Score) as Rank
    from(
    select * from Scores
    )o1
    left outer join(
    select distinct Score from Scores
    )o2
    on(o1.Score<=o2.Score)
    group by
    o1.Id
    order by o1.Score desc

     

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

    評論

    # re: Leetcode-Database-178-Rank Scores-Medium 2015-01-29 21:37 京山游俠

    你的博客頁面打開好慢啊。是不是引用了不該引用的JavaScript?改一下吧。  回復  更多評論   

    主站蜘蛛池模板: 18禁黄网站禁片免费观看不卡| 搡女人免费免费视频观看| 亚洲最大免费视频网| 久久久久亚洲AV成人无码| 99视频免费在线观看| 久久久久无码专区亚洲av | 亚洲熟妇无码乱子AV电影| 和老外3p爽粗大免费视频| 亚洲一区二区三区香蕉| 男人的天堂网免费网站| 亚洲色图在线播放| 日韩不卡免费视频| 亚洲精品久久无码av片俺去也| 成人超污免费网站在线看| 亚洲av无码专区首页| 亚洲国产成人精品91久久久| 国产精品免费久久久久久久久| 亚洲精品无码专区久久久| 96免费精品视频在线观看| 亚洲制服在线观看| 国产又黄又爽又刺激的免费网址 | 精品亚洲成a人在线观看| 亚洲国产精品丝袜在线观看| a级毛片高清免费视频就| 亚洲第一网站免费视频| 成熟女人特级毛片www免费| 产传媒61国产免费| 亚洲国产一区国产亚洲| 午夜两性色视频免费网站| 无码精品人妻一区二区三区免费| 亚洲妇熟XXXX妇色黄| 最新欧洲大片免费在线| 日韩成人毛片高清视频免费看| 日本亚洲欧洲免费天堂午夜看片女人员| 67194国产精品免费观看| 日韩国产欧美亚洲v片| 日韩亚洲欧洲在线com91tv| 国国内清清草原免费视频99| 污视频网站在线观看免费| 777亚洲精品乱码久久久久久 | 免费一级毛片在线观看|