> 데이터 베이스 > MySQL 튜토리얼 > JOIN 또는 CASE 문을 사용하여 SQLite에서 긴 형식 데이터를 와이드 형식으로 피벗하는 방법은 무엇입니까?

JOIN 또는 CASE 문을 사용하여 SQLite에서 긴 형식 데이터를 와이드 형식으로 피벗하는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-10 12:41:46
원래의
278명이 탐색했습니다.

How to Pivot Long Format Data to Wide Format in SQLite Using JOINs or CASE Statements?

SQLite Pivot: 긴 형식을 와이드 형식으로 변환

SQLite에서 피보팅이란 긴 형식으로 저장된 테이블을 더 쉬운 데이터 분석 및 처리를 위해 와이드 형식으로 변환하는 것을 의미합니다. 이는 행당 여러 측정값이나 속성이 있는 데이터로 작업할 때 특히 유용합니다. 이를 통해 데이터를 보다 구조화되고 읽기 쉬운 방식으로 시각화할 수 있기 때문입니다.

SQLite에서 데이터를 피벗하려면 조건식과 결합된 JOIN 연산을 사용하거나 GROUP BY와 함께 CASE 문을 사용할 수 있습니다. 두 기술을 모두 사용하여 투시를 완료하는 방법에 대한 자세한 안내는 다음과 같습니다.

JOIN 및 조건식 사용

이 방법에는 SUM() 함수와 함께 JOIN 및 조건식을 사용하여 원하는 각 열의 데이터를 요약하는 방법이 포함됩니다.

<code class="language-sql">select
    u.stuid,
    u.name,
    s3.marks as subjectid_3,
    s4.marks as subjectid_4,
    s5.marks as subjectid_5
from
    student_info u
    left outer join markdetails s3 on
        u.stuid = s3.stuid
        and s3.subjectid = 3
    left outer join markdetails s4 on
        u.stuid = s4.stuid
        and s4.subjectid = 4
    left outer join markdetails s5 on
        u.stuid = s5.stuid
        and s5.subjectid = 5;</code>
로그인 후 복사

CASE 문과 GROUP BY 사용

또 다른 접근 방식은 GROUP BY 절에 CASE 문을 사용하는 것입니다. 이 기술은 필요한 열을 기준으로 행을 그룹화하고 다양한 시나리오에 따라 집계 값을 계산합니다.

<code class="language-sql">select
    si.studid,
    si.name,
    sum(case when md.subjectid = 3 then md.marks end) subjectid_3,
    sum(case when md.subjectid = 4 then md.marks end) subjectid_4,
    sum(case when md.subjectid = 5 then md.marks end) subjectid_5
from
    student_info si
join
    markdetails md on
        md.studid = si.studid
group by
    si.studid,
    si.name;</code>
로그인 후 복사

두 방법 모두 SQLite에서 데이터를 피벗하여 필요한 와이드 형식을 제공하는 데 사용할 수 있습니다.

위 내용은 JOIN 또는 CASE 문을 사용하여 SQLite에서 긴 형식 데이터를 와이드 형식으로 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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