[22/05/13] SELECT문 총 복습

Que Lin·2022년 5월 13일

MS-SQL

목록 보기
4/11

SELECT문 총 복습

5 SELECT 나타낼 칼럼
1 FROM 데이터를 불러옴(테이블명)
2 WHERE 조건
3 GROUP BY 특정 칼럼 그룹화
4 HAVING 그룹화한 데이터 조건
6 ORDER BY 정렬 DEFAULT 오름차순 DESC 내림차순

/*
배송업체별 특징을 파악해주세요.
새로운 칼럼 생성 
(DATE1 : 첫주문날짜, DATE2 : 마지막주문날짜, 
OrderCount : 주문건수, Customer: 중복제거한 고객수)
*/

SELECT ShipperID,
MIN(OrderDate) AS DATE1,
MAX(OrderDate) AS DATE2,
COUNT(OrderID) AS OrderCount,
COUNT(DISTINCT CustomerID) AS CustomerCount
FROM Orders
GROUP BY ShipperID

/*
2) 30건 이상 고객의 주문을 받은 직원을 알려주세요. 
(주문건수 높은 순)
새로운 칼럼 생성 (OrderCount : 주문건수)
*/

SELECT EmployeeID,
COUNT(OrderID) AS OrderCount
FROM Orders
GROUP BY EmployeeID
HAVING COUNT(OrderID)>=30
ORDER BY OrderCount DESC   

/*
3) 가장 많이 주문한 고객의 정보를 정리해주세요.
새로운 칼럼 생성 
(OrderCount : 주문건수, Notes : 전체 주문일자)
*/
SELECT TOP 1 CustomerID,
COUNT(*) AS OrderCount, 
STUFF((SELECT CONCAT(',',OrderDate)
                 FROM Orders
                 WHERE CustomerID = A.CustomerID
                 FOR XML PATH('')),1,1,'')
                 AS Notes
FROM Orders A
GROUP BY CustomerID
ORDER BY OrderCount DESC
profile
1일 1커밋 1일 1벨로그!

0개의 댓글