> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 여러 열(user_id 및 lang)을 사용하여 데이터를 피벗하는 방법은 무엇입니까?

SQL에서 여러 열(user_id 및 lang)을 사용하여 데이터를 피벗하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-18 02:34:13
원래의
463명이 탐색했습니다.

How to Pivot Data Using Multiple Columns (user_id and lang) in SQL?

여러 열로 데이터 피벗

제공된 데이터 세트에서 데이터는 현재 user_id 열을 기본 식별자로 사용하여 피벗됩니다. 그러나 원하는 결과는 user_id와 lang을 모두 기본 식별자로 사용하여 데이터를 피벗하는 것입니다.

이를 달성하기 위해 PIVOT 기능을 사용할 수 있습니다. PIVOT 함수는 집계된 값을 가져와 하나 이상의 열로 그룹화하여 각 그룹에 대해 새 열을 만듭니다. 이 경우 조직 및 직위 열은 lang별로 집계 및 그룹화됩니다.

SQL 쿼리

다음 SQL 쿼리는 여러 열을 사용하여 데이터를 피벗하는 방법을 보여줍니다.

SELECT *
FROM source
PIVOT (
    MIN(org) AS org,
    MIN(position) AS position
    FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv)
);
로그인 후 복사
  • SELECT 절은 소스 테이블에서 모든 열을 검색합니다.
  • FROM 절은 다음을 지정합니다. 소스 테이블을 데이터 원본으로 사용합니다.
  • PIVOT 절은 피벗 작업을 수행합니다.

    • MIN(org)는 각 테이블에 대한 조직 열의 최소값을 계산합니다. group.
    • MIN(position)은 각 그룹의 위치 열의 최소값을 계산합니다.
    • FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv)는 그룹화 열과 해당 별칭을 정의합니다.

결과

쿼리 결과는 다음 열이 포함된 피벗된 데이터 세트입니다.

  • user_id: 사용자 식별자.
  • org_en: 영어 선호도와 관련된 조직
  • position_en: 영어 선호도와 관련된 직위
  • org_fi: 핀란드어 선호도와 관련된 조직.
  • position_fi: 핀란드어 선호도와 관련된 위치.
  • org_sv: The 스웨덴어 선호도 관련 조직.
  • position_sv: 스웨덴어 선호도 관련 직위

위 내용은 SQL에서 여러 열(user_id 및 lang)을 사용하여 데이터를 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿