sqlserver group by 의 용법 을 정리 합 니 다.

2534 단어 sqlservergroupby
오늘 실례 를 들 어 group by 의 용법 을 총 결 해 보 겠 습 니 다.
요약:group by:ALL,Cube,RollUP,Compute,Compute by
데이터 스 크 립 트 생 성
Create Table SalesInfo
(Ctiy nvarchar(50),
OrderDate datetime,
OrderID int
)
insert into SalesInfo
select N'북경','2014-06-09',1001
union all
select N'북경','2014-08-09',1002
union all
select N'북경','2013-10-09',1009
union all
select N'대련','2013-08-09',4001
union all
select N'대련','2013-10-09',4002
union all
select N'대련','2013-05-12',4003
union all
select N'대련','2014-11-11',4004
union all
select N'대련','2014-12-11',4005
먼저 다음 스 크 립 트 를 실행 합 니 다:
select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy
with cube

한 줄 이 더 나 온 것 을 볼 수 있 습 니 다.모든 주문 수 에 대한 집계 입 니 다.
다음 스 크 립 트:
select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with cube

그룹 중의 차원 을 모두 모 았 고 주문 의 총화 도 있 음 을 알 수 있다.
다음 스 크 립 트(rollup 이 나타 나 는 것 을 주의 하 십시오):
select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with rollup

rollup 을 사용 하면 group by 가 열거 한 첫 번 째 그룹 필드 를 집합 연산 합 니 다.
다음 스 크 립 트:
select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
where
Ctiy=N'대련'
group by all Ctiy
우 리 는 group by all 을 사용 한 후에 조건 에 부합 되 지 않 는 도시 도 나타 날 것 이다.다만 주문 수 는 0 일 뿐이다.
주의해 야 할 것 은 All 은 cube 와 rollup 과 함께 사용 할 수 없고,having 와 함께 사용 하면 All 의 기능 이 효력 을 잃 습 니 다.
다음 스 크 립 트:
select Ctiy,orderdate,orderid
from
SalesInfo
compute count(orderid)

두 개의 결과 집합 을 보 여 주 었 습 니 다.하 나 는 주문 결과 집합 이 고 하 나 는 주문 총수 결과 집합 입 니 다.
마지막 스 크 립 트:
select Ctiy,orderdate,orderid
from
SalesInfo
order by Ctiy
compute count(orderid) by Ctiy

서로 다른 도시 에 따라 이 도시 의 주문 정 보 를 각각 표시 하고 이 도시 의 모든 주문 수량 을 표시 한다.
그 얘 기 부터 할 게 요.

좋은 웹페이지 즐겨찾기