เคยสงสัยกันไหมว่า Data Analyst ในชีวิตจริง พวกเราทำงานกันอย่างไร ?
สำหรับผู้ที่สนใจอยากลองมาทำงานสาย Data การฝึกฝนทำโปรเจคกับข้อมูลเสมือนจริงจะช่วยให้รับมือกับการสัมภาษณ์งาน และสามารถทำให้มั่นใจได้ว่าเมื่อเข้าไปทำงานจริงจะทำงานได้
ในบทความนี้ เราจะชวนมาวิเคราะห์ข้อมูลด้วยการเขียนโปรแกรม SQL ในธีม “Car Dealer” สำหรับคนที่กำลังเริ่มเรียนรู้การใช้ SQL ก็สามารถทำไปพร้อม ๆ กันได้เลย
อยากฝึกโจทย์ Data แนวไหนอีก ? ทักมาบอกทีมงานเราได้ที่ Post นี้เลย – ทีม Datayolk
ปัญหาทางธุรกิจ
คุณเป็นทีมวิเคราะห์ข้อมูลในบริษัทขายรถยนต์แห่งหนึ่ง ที่มีรถหลายโมเดลทั้ง Sedan A, SUV X, อื่น ๆ และรถเหล่านี้ใช้แหล่งพลังงานที่ต่างกันเช่น Petrol, Electric, อื่น ๆ เป้าหมายของการวิเคราะห์ข้อมูลครั้งนี้เพื่อประเมินผลงานภายในองค์กร เช่น ต้องการทราบยอดขายรถแต่ละแบบและยอดขายที่ทำได้ของพนักงานเป็นอย่างไร ?
ทำโจทย์ Car Dealer ด้วย Replit
ในบทความนี้เราใช้ Replit ที่ใช้งานสะดวกมาก ไม่ต้อง Install Program ก็สามารถใช้งานได้ เพียงเข้าไปที่ Car Dealer Project แล้วกด Run ก็สามารถเริ่มเขียน SQL เพื่อวิเคราะห์ข้อมูลได้เลย แต่หากติดปัญหาอะไร อย่าลืมอ่านวิธีการใช้งานด้านข้างนะ
คำอธิบายชุดข้อมูลในโจทย์
ในโจทย์นี้กำหนดให้มีชุดข้อมูลดังนี้
ตารางประเภทรถ
Attribute | Meaning |
---|---|
VehicleID | Unique identifier for each vehicle. |
ModelName | Name or designation of the vehicle model. |
VehicleType | Type or category of the vehicle (e.g., Sedan, SUV, Truck). |
Price | Price of the vehicle in monetary units. |
FuelType | Type of fuel the vehicle uses (e.g., Petrol, Electric, Diesel). |
ตารางรายชื่อพนักงานขาย
Attribute | Meaning |
---|---|
SalespersonID | Unique identifier for each salesperson. |
FirstName | First name of the salesperson. |
LastName | Last name of the salesperson. |
ตารางยอดขาย
Attribute | Meaning |
---|---|
TransactionID | Unique identifier for each sales transaction. |
VehicleID | Foreign key referencing Vehicle Table (linked to a specific vehicle). |
SalespersonID | Foreign key referencing Salesperson Table (linked to a specific salesperson). |
SaleDate | Date when the sales transaction occurred. |
1. แสดงประเภทของรถยนต์ที่ขายได้ จากขายได้มากที่สุดไปน้อยที่สุด
ให้ดึงข้อมูลประเภทรถยนต์ (VehicleType) และจำนวนรถยนต์ที่ขายได้ COUNT(TransactionID) AS TotalSales เรียงลำดับจำนวนรถยนต์ที่ขายได้จากมากไปน้อย
ผลลัพธ์ที่คาดหวัง
VehicleType | TotalSales |
---|---|
– | – |
2. ระบุพนักงานขาย (ชื่อ-นามสกุล) ที่ขายรถได้มากที่สุด และ ขายได้กี่คัน 💰
ให้ดึงข้อมูลชื่อ-นามสกุล (FirstName, LastName) และจำนวนรถยนต์ที่ขายได้ COUNT(TransactionID) AS TotalTransactions
ผลลัพธ์ที่คาดหวัง
FirstName | LastName | TotalTransactions |
---|---|---|
– | – | – |
3. คำนวณยอดขายทั้งหมดของพนักงานขายแต่ละคน
ให้ดึงข้อมูลชื่อ-นามสกุล (FirstName, LastName) และยอดขายรวม (TotalRevenue) ของพนักงานแต่ละคน เรียงลำดับยอดขายรวมจากมากไปน้อย
ผลลัพธ์ที่คาดหวัง
FirstName | LastName | TotalRevenue |
---|---|---|
– | – | – |
4. ในปี 2023 ระหว่างรถพลังงานไฟฟ้า (Electric) หรือพลังงานเชื้อเพลิง (Petrol) แบบไหนได้รับความนิยมมากกว่ากัน
ให้ดึงข้อมูลประเภทพลังงานที่ใช้ FuelType และจำนวนขาย COUNT(TransactionID) AS TotalSales ของรถ ที่ Electric และรถ Petrol ในปี 2023
ผลลัพธ์ที่คาดหวัง
FuelType | TotalSales |
---|---|
– | – |
5. หัวหน้าทีมต้องการจัดหมวดหมู่ให้กับรถแต่ละโมเดล โดยมีเงื่อนไขว่า ถ้าราคาเท่ากับหรือมากกว่า 1 ล้านให้จัดเป็นรุ่น Flagship Model แต่ถ้าราคาต่ำกว่านั้นให้จัดเป็นรุ่น Normal Model
ให้ดึงข้อมูล ModelName และสร้างคอลัมน์ใหม่ให้ชื่อว่า ModelLabel แล้วเรียงลำดับตามตัวอักษร ModelName จากน้อยไปมาก
ผลลัพธ์ที่คาดหวัง
ModelName | ModelLabel |
---|---|
– | – |
จบลงแล้วสำหรับโปรเจค Car Dealer ที่ชวนมาทำโจทย์ SQL ซึ่งลักษณะคำถามแบบนี้ เหล่าคนทำงานข้อมูลก็ใช้คำสั่งพื้นฐานเหล่านี้ในชีวิตประจำวัน
ซึ่งรูปแบบการเขียนอาจจะทำต่างออกไปขึ้นอยู่กับการคำนึงเรื่องประสิทธิภาพ แต่สำหรับโจทย์ที่เราพึ่งทำกันไป ส่วนมากจะประยุกต์กับโจทย์อื่น ๆ เพื่อใช้ทดสอบในคนทำงานสายข้อมูลในระดับพื้นฐาน เดี๋ยวครั้งหน้าจะชวนไปทำโจทย์อื่น ๆ ที่น่าสนใจและใช้บ่อย ๆ ในคนทำงานสายข้อมูลกัน
อยากมาทำงานสาย Data ใช่มั้ย?
เรามี Workshop Data Interview ที่จะช่วยคุณเตรียมพร้อมสำหรับการสัมภาษณ์งาน ผ่านการทำ Case Interview