<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 閱讀(3564) 評論(1)  編輯  收藏 所屬分類: 數據

    評論

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

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

    主站蜘蛛池模板: 亚洲一级大黄大色毛片| 亚洲三级电影网站| 婷婷亚洲综合五月天小说在线| 91精品国产免费久久久久久青草 | 亚洲精品动漫在线| 18pao国产成视频永久免费| 亚洲黄色在线观看视频| 国内精自视频品线六区免费| 亚洲国产av一区二区三区丶| 久久久久国色AV免费看图片| 亚洲日韩一区二区三区| 国产一级理论免费版| 四虎影视久久久免费| 国产AV无码专区亚洲AV毛网站| 一个人免费视频观看在线www| 亚洲AV色香蕉一区二区| 国产成人免费午夜在线观看| 久久精品国产亚洲AV蜜臀色欲| 在线免费观看一区二区三区| 香蕉视频在线观看免费| 久久亚洲国产中v天仙www| 亚洲免费在线视频观看| 亚洲国产成人无码AV在线| 亚洲天堂中文字幕在线| 免费A级毛片无码A∨| 亚洲精品av无码喷奶水糖心 | 国产亚洲av人片在线观看| 免费国产成人午夜在线观看| 亚洲香蕉免费有线视频| 全免费a级毛片免费**视频| 一级毛片免费全部播放| 久久精品国产亚洲AV无码偷窥| 成人看的午夜免费毛片| 国产VA免费精品高清在线| 亚洲系列国产精品制服丝袜第| 青青青青青青久久久免费观看| eeuss影院免费92242部| 亚洲国色天香视频| 亚洲第一区在线观看| 国产2021精品视频免费播放| 羞羞视频网站免费入口|