블로그 이미지
래곤
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
반응형

Category

Recent Post

Recent Comment

Archive

2009. 9. 14. 23:13 .Net Project/WindowServer2008
반응형

--[0] tempdb에 테스트용 테이블 생성 및 데이터 입력
USE tempdb
GO

--DROP TABLE Orders
CREATE TABLE dbo.Orders
(
 [상품명] VarChar(10),
 [판매개수] Int
)
GO

INSERT Orders VALUES('RADIO',5)
INSERT Orders VALUES('TV',3)
INSERT Orders VALUES('AUDIO',1)
INSERT Orders VALUES('DVD',7)
INSERT Orders VALUES('RADIO',3)
INSERT Orders VALUES('DVD',8)
INSERT Orders VALUES('TV',10)

--[1] 집계함수 사용 검색
SELECT * FROM Orders
SELECT COUNT([판매개수]) AS [총판매횟수] FROM Orders  --7
SELECT Sum([판매개수]) AS [총판매개수] FROM Orders  --37
SELECT AVG([판매개수]) AS [총판매평균] FROM Orders  --5
SELECT MAX([판매개수]) AS [최대판매개수] FROM Orders  --10
SELECT MIN([판매개수]) AS [최소판매개수] FROM Orders  --1

--[2] 아래 구문을 실행시켜보면 다음과 같은 에러가 나타난다.
--Orders.상품명' 열이 집계 함수에 없고 GROUP BY 절이 없으므로
-- SELECT 목록에서 사용할 수 없습니다.

SELECT [상품명], AVG([판매개수]) AS [총판매평균] FROM Orders

--[3] 위와 같이 집계함수로 계산되어지지 않고 그룹화되어 출력시킬
        필드는 반드시 GROUP BY절에 기록하여야한다.

SELECT [상품명], AVG([판매개수]) AS [총판매평균]
FROM Orders
GROUP BY [상품명]

--[4] 만약 그룹별 총 판매평균이 5이상인것만 출력하고자 할 때에는
-- HAVING절에 조건을 추가하여야한다.

SELECT [상품명], SUM([판매개수]) AS [총판매합계],
                        AVG([판매개수]) AS [총판매평균]
FROM Orders
GROUP BY [상품명]
HAVING AVG([판매개수]) >= 5  --판매개수의 평균이 5이상인것만 검색

--[5] 퀴즈 : 각 주문별 상품 판매량이 7이상이고, 그룹별 총 판매평균이
                5이상인것만  [상품명]에 오름차순 정렬해서 출력하시오.

Select
From

Where

Group By

Having

Order By

반응형

'.Net Project > WindowServer2008' 카테고리의 다른 글

12장 Memos 테이블 생성  (0) 2009.09.14
11장 메모(DB) 샘플로 1000개 레코드 입력  (0) 2009.09.14
09장 테이블 제약조건  (0) 2009.09.14
08장 집계함수  (0) 2009.09.14
07장 조인(Join)  (0) 2009.09.14
posted by 래곤