T_era
[MySQL] 문제풀이 : 단골 고객님 찾기 본문
문제:
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
'Programing > Datababse' 카테고리의 다른 글
| [MySQL] 문제풀이 : 가장 많이 팔린 품목은? (0) | 2025.03.25 |
|---|---|
| [MySQL] 문제풀이 : 가장 높은 월급을 받는 직원은? (0) | 2025.03.25 |
| [MySQL] 문제풀이 : 이용자의 포인트 조회하기 (0) | 2025.03.25 |
| [MySQL] 문제풀이 날짜별 획득포인트 조회하기 (0) | 2025.03.25 |
| [MySQL] 문제풀이 : 연습문제! (0) | 2025.03.25 |