zoukankan      html  css  js  c++  java
  • 【数据分析面试题】一个 面试题,我的回答

           共享:

          数据结构:

         

         姓名  类别            花费
           李  看电影          30
           李  吃饭            100
           李  旅游            500
           王  吃饭            500
           王  看电影         100
           王  买衣服         700


    展现效果:

    姓名     TOP1类别        TOP1花费         TOP2类别       TOP2花费            TOP3类别         TOP3花费
    李       旅游            500               吃饭            100               看电影            30
    王        买衣服           700               吃饭             500              看电影            100


    
    

    这题目事实上挺简单的,横列转换。效率最高的答案,看最后。。。

    。。/// 假设有更好的。 欢迎讨论

    ---------------------------------------------------------------------------------------------------------------------------------------------------------

    SELECT NAME,
           MAX(DECODE(SEQ, 1, TYPE, NULL)) HIGHEST_TYPE,
           MAX(DECODE(SEQ, 1, COST, NULL)) HIGHEST_COST,
           MAX(DECODE(SEQ, 2, TYPE, NULL)) SECOND_TYPE,
           MAX(DECODE(SEQ, 2, COST, NULL)) SECOND_COST,
           MAX(DECODE(SEQ, 3, TYPE, NULL)) THIRD_TYPE,
           MAX(DECODE(SEQ, 3, COST, NULL)) THIRD_COST
      FROM (SELECT NAME,
                   COST,
                   TYPE,
                   ROW_NUMBER() OVER(PARTITION BY NAME ORDER BY COST DESC NULLS LAST) SEQ
              FROM TEST)
     GROUP BY NAME;
    
















    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    第0次作业(第二学期)
    C语言程序设计(基础)最后一次作业-- 总结报告
    第14、15教学周作业
    第七周作业
    第六周作业
    第四周作业
    第四次作业
    2018第三次作业
    2018第二次作业
    2018第三,四作业合集
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4618117.html
Copyright © 2011-2022 走看看