'가로데이터'에 해당되는 글 1건

MSSQL Pivot

Lecture/MS-SQL 2018. 12. 28. 09:18
반응형

Pivot은 네이버 한영사전에 검색을 해보니...

네이버 한영사전 검색결과

위 같은 검색결과가 있네요...

중심이라는 단어가 맞는것 같긴 한데..

전 MSSQL에서 Pivot은 그냥 세로데이터를 가로데이터로 변환할 때 사용합니다.

예를 들어 일자별로 물건 판 세로의 데이터를 가로로 변환하는것이지요....

글로 표현하자니 차암.. 어렵네요...

데이터 테이블 생성

생성된 데이터 결과물

위 처럼 1일에 몇개 ~ 10일에 몇개.. 이 데이터를 가로로 변환할 겁니다.

PIVOT사용한 소스

PIVOT사용 후 결과물

1. 가로로 놓을 이름으로 select로 묶어 주신다음에 JOIN하듯이 PIVOT을 해주시면 됩니다.

PIVOT에서 SUM을 해도 되고 COUNT를 해도 되지만 보통은 정렬 안된 데이터를 합쳐서 하기 때문에 SUM을 사용했구요.

2. FOR 다음에 DAY는 어떤 기준으로 묶을 것이냐.. 즉 컬럼명을 적어주시면 됩니다. 일자별로 묶기 때문에 DAY를 사용했습니다.

3. IN() 안에는 꼭 select로 묶을 당시의 컬럼명들을 다 적어주셔야 합니다.

근데 제가 데이터는 10일까지 해놓고 11일을 데이터를 불러온 이유는 보통 데이터라는게 꼭 있으라는 법이 없기 때문에 NULL로도 표현된다는 것을 보여주기 위함입니다. NULL 참 보기 싫어지네요.. 없애보겠습니다.

PIVOT사용한 소스2

PIVOT사용 후 결과물2

위처럼 select로 묶어주실 때 ISNULL() 함수를 써주시면 됩니다. 있는지 없는지 판단해서 없는걸 빼고 하게 되면 뭔가 더 보기 싫어질 것 같기도 하고.. 그래서 없는건 노출되되 0으로 표현한것이지요.


반응형
로그 이미지

우주의빛

자료를 공유하고 좋은자료 추천 하는 곳입니다.

,