每日動動腦,用美國企業真實的面試考題來練習,我會把免費的SQL都做完,有需要的人,也可以直接搜ID。
Stratascratch是我的Mentor推薦的,裡面都是企業面試已經考過的題目。我已經告知Stratascratch,也已經取得分享題目權限。
解題日:2023/8/28
今天的第幾題:1/7
Airbnb, Expedia
難易度:簡單
有一張表叫做hotel_review(旅館評論),請找出某一家旅館(Hotel Arena)的每筆評分,以及同分的次數。
想想在旅遊業或是飯店業,這種資料運算是滿基本的,我想知道某飯店被評了幾分,而且哪些分數特別多。這也有點數字分佈的概念,大家還記得直方圖(histogram)嗎?就是哪個分數或區間,有多少單位,這種分佈圖。
SELECT hotel_name,
reviewer_score,
COUNT(*) AS num_of_rows
FROM hotel_reviews
WHERE hotel_name = 'Hotel Arena'
GROUP BY hotel_name,
reviewer_score;
-- 加入解釋
SELECT hotel_name, -- 飯店名字
reviewer_score, -- 評分是多少?
COUNT(*) AS num_of_rows -- 總共有幾行或幾筆這樣的評分?
FROM hotel_reviews -- 這是資料表,就是一開始說的表格
WHERE hotel_name = 'Hotel Arena' -- 篩選飯店名稱叫做Hotel Arena的我才要
GROUP BY hotel_name, -- 請以飯店名稱+各評分為一組
reviewer_score;
我每次看題目,都覺得讀文字有點吃力,但只要看一下最後要怎樣的結果、幾個欄位,我就會瞬間理解到底要考什麼。
這題比我當初預想的再簡單一點,算是很直接就可以寫出來,沒有太複雜的東西。看看其他人解的方法,也都大同小異,所以應該沒有什麼大問題。