T_era

[MySQL] 문제풀이 : 단골 고객님 찾기 본문

Programing/Datababse

[MySQL] 문제풀이 : 단골 고객님 찾기

블스뜸 2025. 3. 25. 14:59

문제:

Orders 테이블:
OrderID
CustomerID
OrderDate
TotalAmount
101
1
2024-01-01
150
102
2
2024-01-03
200
103
1
2024-01-04
300
104
3
2024-01-04
50
105
2
2024-01-05
80
106
4
2024-01-06
400
Customers 테이블:
CustomerID
CustomerName
Country
1
Alice
USA
2
Bob
UK
3
Charlie
USA
4
David
Canada

요구사항:

1.
고객별로 주문 건수와 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.
a.
출력 결과에는 고객 이름, 주문 건수, 총 주문 금액이 포함되어야 합니다. 단, 주문을 한 적이 없는 고객도 결과에 포함되어야 합니다.
b.
기대결과
CustomerName
OrderCount
TotalSpent
Alice
2
450
Bob
2
280
Charlie
1
50
David
1
400
더보기

select

c.CustomerName as customers_name,
count(1) as order_count,
sum(TotalAmount) as total_spent
from Orders as o
left join Customers as c on o.CustomerID = c.CustomerID
group by 1

2.
나라별로 총 주문 금액이 가장 높은 고객의 이름과 그 고객의 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.
a.
기대결과
Country
Top_Customer
Top_Spent
USA
Alice
450
UK
Bob
280
Canada
David
400
더보기

select

o.Country as Country,
c.CustomerName as Top_Customer,
max(o.TotalAmount) as Top_Spent
from Orders as o
left join Customers as c on o.CustomerID = c.CustomerID
group by 1