programing

SQL에서 테이블을 긴 형식에서 넓은 형식으로 변환

stoneblock 2023. 9. 1. 20:32

SQL에서 테이블을 긴 형식에서 넓은 형식으로 변환

SQL의 유니온에 대해 질문이 있습니다.

저는 이런 종류의 테이블을 긴 형식으로 가지고 있습니다.

이드 가치 열쇠
1 67 사용자들
2 42 사용자들
1 45 정치
2 89 정치

코드는 다음과 같은 것을 생성해야 합니다(예: 넓은 형식의 표).

이드 사용자들 정치
1 67 45
2 42 89

SQL로 이를 달성할 수 있습니까?

당신은 원하지 않습니다.union데이터를 피벗하려고 합니다.한 가지 방법은 조건부 집계를 사용합니다.

select id,
       max(case when key = 'users' then value end) as users,
       max(case when key = 'politics' then value end) as politics
from t
group by id;

언급URL : https://stackoverflow.com/questions/66230532/transforming-a-table-from-long-format-to-wide-format-in-sql