【資料分析面試題】一道 面試題,我的答案,資料分析面試題答案

來源:互聯網
上載者:User

【資料分析面試題】一道 面試題,我的答案,資料分析面試題答案

今天下午參加 參加了杭州某公司的資料分析面試,其中有道題目很熟悉,但沒給出最佳答案。

       分享一下:

      資料結構:

     

     姓名  類別            花費       李  看電影          30       李  吃飯            100       李  旅遊            500       王  吃飯            500       王  看電影         100       王  買衣服         700


展現效果:

<pre name="code" class="sql">姓名     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;

















一道對於資料庫的面試題

1.select s.sid from s,t where t.tid in ('1','2')
2.
select s.sid ,s.sname
from s,
(select sid,count(tid) from st where score<60 group by sid) st1
where s.sid = st1.sid
3.
select st1.sid
from
(select sid,score from st where tid='1') st1
,(select sid,score from st where tid='2') st2
where st1.score > st2.score
and st1.sid = st2.sid
 
一道資料庫的面試題解

1--就拿你問題2的資料舉例,郵箱和name同時重複,只保留其中一條
delete from 表名 where id not in (select min(id) from 表名 group by name,email)

2--
select t1.* from 表名 t1,
(select name,max(lastlogon) lastlogon from 表名 group by name) t2
where t1.name=t2.name and t1.lastlogon=t2.lastlogon
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.