2021-02-24 字節(jié)sql面試題

  1. 算成績
    表名:subject_scores

輸入
Name subject score
王建國 數(shù)學(xué) 95
王建國 語文 89
李雪琴 數(shù)學(xué) 100
李雪琴 語文 100
李雪琴 英語 100

輸出
Name math chinese English
王建國 95 89 0
李雪琴 100 100 100

解答:
所涉知識點:GROUP BY 和 CASE WHEN 實現(xiàn)行變列
注意:(1)空的數(shù)據(jù)這里判斷為0瘫里;(2)CASE WHEN 前要使用聚合函數(shù),不然報錯)

SELECT 
name,
MAX(CASE subject WHEN '數(shù)學(xué)' THEN score ELSE 0 END) as math,
MAX(CASE subject WHEN '語文' THEN score ELSE 0 END) as chinese,
MAX(CASE subject WHEN '英語' THEN score ELSE 0 END) as English
FROM subject_scores 
GROUP BY name;

2.算成績
輸入
Name math chinese English
王建國 95 89 0
李雪琴 100 100 100
輸出
Name subject score
王建國 數(shù)學(xué) 95
王建國 語文 89
李雪琴 數(shù)學(xué) 100
李雪琴 語文 100
李雪琴 英語 100

-- 解答
知識點:通過使用UNION ALL 列變行;
注意:0值處理垫竞;最后根據(jù)姓名排序

SELECT name ,'數(shù)學(xué)' as subject,math as 'score' FROM subject_scores_2 WHERE math>0
UNION ALL
SELECT name ,'語文' as subject,chinese as 'score' FROM subject_scores_2 WHERE chinese>0
UNION ALL
SELECT name ,'英語' as subject,english as 'score' FROM subject_scores_2 WHERE English>0
ORDER BY name DESC;

3.算昨天每個城市top 10消費金額的用戶切黔,輸出city_id,city_name,uid, 消費總金額
表名:orders
每次消費記錄一條
city_id,city_name,uid,order_id,amount,pay_order_time, pay_date
解答:(窗口函數(shù))

SELECT a.city_id,
a.city_name,
a.uid,
a.pay_amount as '消費總金額'
FROM 
(
SELECT city_id,city_name,uid,SUM(amount) as pay_amount,RANK()over(PARTITION BY city_id ORDER BY SUM(amount) DESC) as rank_no
FROM orders
WHERE pay_date='2020-01-01'
GROUP BY city_id,city_name,uid 
) a 
WHERE a.rank_no<=10;

4.sql解析出json數(shù)組中的 fruit_id, fruit_name

[{'fruit_id':1, 'fruit_name':'apple'},
{'fruit_id':2, 'fruit_name':'pear'},
{'fruit_id':3, 'fruit_name':'peach'}]

解答:

SELECT * FROM JSON_TABLE('[
{"fruit_id":1,"fruit_name":"apple"},
{"fruit_id":2,"fruit_name":"pear"},
{"fruit_id":3,"fruit_name":"peach"}
]','$[*]' COLUMNS( fruit_id INT PATH '$.fruit_id' ,fruit_name VARCHAR(25) PATH '$.fruit_name')) as jt;

5.計算end_date
輸入:
begin_date, 開始日期
unit_num, --單元 12個單元
week_num, --周序號 1~4谓松,每個單元4周
day_num, --day的序號 1~7焕妙,每周7天
輸出
end_date 結(jié)束日期(12)
解答:(也不知道有沒有讀懂題意?亂寫的)

set @begin_date='2010-01-01',@unit_num=12;
SELECT DATE_ADD(@begin_date,INTERVAL @unit_num*4*7 DAY) AS end_date;
  1. 計算占比和同比增長
    t_user記錄了用戶注冊時間和平臺沃斤,統(tǒng)計2018年1月份
    每天各平臺("ios","android","h5")注冊用戶總量占所有平臺總用戶的比例圣蝎,以及各平臺注冊用戶按周同比增長(與一周前相比)的比例
    建表語句
    create table t_user
    (
    uid BIGINT COMMENT "用戶id"
    , reg_time STRING COMMENT "注冊時間,如2018-07-01 08:11:39"
    , platform STRING COMMENT "注冊平臺,包括app ios h5"
    );
    解答:
    知識點:窗口函數(shù)衡瓶。
    注意:如果存在某天的缺失數(shù)據(jù)徘公,偏移函數(shù)會有錯誤
SELECT a.reg_date
,a.platform
,ROUND(a.reg_num/sum(a.reg_num)over(PARTITION BY a.reg_date),4) as rate
,ROUND((a.reg_num-a.reg_num_7)/a.reg_num_7,4) as rate_week
FROM(
SELECT 
DATE(reg_time) as reg_date
,platform
,COUNT(uid) as reg_num
,lag(COUNT(uid),7)over(PARTITION BY platform ORDER BY DATE(reg_time)) as reg_num_7
FROM t_user
WHERE SUBSTR(reg_time,1,7)='2018-01'
GROUP BY DATE(reg_time),platform
) a ;

二、分析題
1.撲克牌54張哮针,里面有4個2关面,隨機(jī)抽取10張,其中有1個2的概率十厢。
需要寫出分析過程

解答:

2.指標(biāo)定義:
參課滲透率--參加課程學(xué)習(xí)人數(shù)/整體報名人數(shù)
對比上個招生期等太,本期大齡兒童組參課滲透率增加,低齡兒童組參課滲透率也增加蛮放,本期是否參課滲透率整體會提升澈驼?為什么
(知識點:辛普森悖論)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市筛武,隨后出現(xiàn)的幾起案子缝其,更是在濱河造成了極大的恐慌挎塌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件内边,死亡現(xiàn)場離奇詭異榴都,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)漠其,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門嘴高,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人和屎,你說我怎么就攤上這事拴驮。” “怎么了柴信?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵套啤,是天一觀的道長。 經(jīng)常有香客問我随常,道長潜沦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任绪氛,我火速辦了婚禮唆鸡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘枣察。我一直安慰自己争占,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布序目。 她就那樣靜靜地躺著臂痕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宛琅。 梳的紋絲不亂的頭發(fā)上刻蟹,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音嘿辟,去河邊找鬼舆瘪。 笑死,一個胖子當(dāng)著我的面吹牛红伦,可吹牛的內(nèi)容都是我干的英古。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼昙读,長吁一口氣:“原來是場噩夢啊……” “哼召调!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤唠叛,失蹤者是張志新(化名)和其女友劉穎只嚣,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體艺沼,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡册舞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了障般。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片调鲸。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖挽荡,靈堂內(nèi)的尸體忽然破棺而出藐石,到底是詐尸還是另有隱情,我是刑警寧澤定拟,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布于微,位于F島的核電站,受9級特大地震影響办素,放射性物質(zhì)發(fā)生泄漏角雷。R本人自食惡果不足惜祸穷,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一性穿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雷滚,春花似錦需曾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至车份,卻和暖如春谋减,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扫沼。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工出爹, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缎除。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓严就,卻偏偏與公主長得像,于是被迫代替她去往敵國和親器罐。 傳聞我的和親對象是個殘疾皇子梢为,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容