มาฝึกทำโปรเจค “Car Dealer” ด้วย SQL แบบในชีวิตจริงกัน

เคยสงสัยกันไหมว่า 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 เพื่อวิเคราะห์ข้อมูลได้เลย แต่หากติดปัญหาอะไร อย่าลืมอ่านวิธีการใช้งานด้านข้างนะ

คำอธิบายชุดข้อมูลในโจทย์

ในโจทย์นี้กำหนดให้มีชุดข้อมูลดังนี้

ตารางประเภทรถ

AttributeMeaning
VehicleIDUnique identifier for each vehicle.
ModelNameName or designation of the vehicle model.
VehicleTypeType or category of the vehicle (e.g., Sedan, SUV, Truck).
PricePrice of the vehicle in monetary units.
FuelTypeType of fuel the vehicle uses (e.g., Petrol, Electric, Diesel).

ตารางรายชื่อพนักงานขาย

AttributeMeaning
SalespersonIDUnique identifier for each salesperson.
FirstNameFirst name of the salesperson.
LastNameLast name of the salesperson.

ตารางยอดขาย

AttributeMeaning
TransactionIDUnique identifier for each sales transaction.
VehicleIDForeign key referencing Vehicle Table (linked to a specific vehicle).
SalespersonIDForeign key referencing Salesperson Table (linked to a specific salesperson).
SaleDateDate when the sales transaction occurred.

1. แสดงประเภทของรถยนต์ที่ขายได้ จากขายได้มากที่สุดไปน้อยที่สุด

ให้ดึงข้อมูลประเภทรถยนต์ (VehicleType) และจำนวนรถยนต์ที่ขายได้ COUNT(TransactionID) AS TotalSales เรียงลำดับจำนวนรถยนต์ที่ขายได้จากมากไปน้อย

ผลลัพธ์ที่คาดหวัง

VehicleTypeTotalSales

ANSWER

2. ระบุพนักงานขาย (ชื่อ-นามสกุล) ที่ขายรถได้มากที่สุด และ ขายได้กี่คัน 💰

ให้ดึงข้อมูลชื่อ-นามสกุล (FirstName, LastName) และจำนวนรถยนต์ที่ขายได้ COUNT(TransactionID) AS TotalTransactions

ผลลัพธ์ที่คาดหวัง

FirstNameLastNameTotalTransactions

ANSWER

3. คำนวณยอดขายทั้งหมดของพนักงานขายแต่ละคน

ให้ดึงข้อมูลชื่อ-นามสกุล (FirstName, LastName) และยอดขายรวม (TotalRevenue) ของพนักงานแต่ละคน เรียงลำดับยอดขายรวมจากมากไปน้อย

ผลลัพธ์ที่คาดหวัง

FirstNameLastNameTotalRevenue

ANSWER

4. ในปี 2023 ระหว่างรถพลังงานไฟฟ้า (Electric) หรือพลังงานเชื้อเพลิง (Petrol) แบบไหนได้รับความนิยมมากกว่ากัน

ให้ดึงข้อมูลประเภทพลังงานที่ใช้ FuelType และจำนวนขาย COUNT(TransactionID) AS TotalSales ของรถ ที่ Electric และรถ Petrol ในปี 2023

ผลลัพธ์ที่คาดหวัง

FuelTypeTotalSales

ANSWER

5. หัวหน้าทีมต้องการจัดหมวดหมู่ให้กับรถแต่ละโมเดล โดยมีเงื่อนไขว่า ถ้าราคาเท่ากับหรือมากกว่า 1 ล้านให้จัดเป็นรุ่น Flagship Model แต่ถ้าราคาต่ำกว่านั้นให้จัดเป็นรุ่น Normal Model

ให้ดึงข้อมูล ModelName และสร้างคอลัมน์ใหม่ให้ชื่อว่า ModelLabel แล้วเรียงลำดับตามตัวอักษร ModelName จากน้อยไปมาก

ผลลัพธ์ที่คาดหวัง

ModelNameModelLabel

ANSWER

จบลงแล้วสำหรับโปรเจค Car Dealer ที่ชวนมาทำโจทย์ SQL ซึ่งลักษณะคำถามแบบนี้ เหล่าคนทำงานข้อมูลก็ใช้คำสั่งพื้นฐานเหล่านี้ในชีวิตประจำวัน

ซึ่งรูปแบบการเขียนอาจจะทำต่างออกไปขึ้นอยู่กับการคำนึงเรื่องประสิทธิภาพ แต่สำหรับโจทย์ที่เราพึ่งทำกันไป ส่วนมากจะประยุกต์กับโจทย์อื่น ๆ เพื่อใช้ทดสอบในคนทำงานสายข้อมูลในระดับพื้นฐาน เดี๋ยวครั้งหน้าจะชวนไปทำโจทย์อื่น ๆ ที่น่าสนใจและใช้บ่อย ๆ ในคนทำงานสายข้อมูลกัน

อยากมาทำงานสาย Data ใช่มั้ย?

เรามี Workshop Data Interview ที่จะช่วยคุณเตรียมพร้อมสำหรับการสัมภาษณ์งาน ผ่านการทำ Case Interview