찾다
데이터 베이스OracleOracle에서 행-열 변환을 달성하는 방법

행-열 변환 구현 방법: 1. PIVOT() 함수를 사용하여 "SELECT * FROM (data set) PIVOT (SUM(Score) FOR Coursename IN (변환된 열) 구문으로 행-열 변환을 구현합니다. 2. unpivot() 함수를 사용하여 열 전환을 실현합니다.

Oracle에서 행-열 변환을 달성하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle 행 대 열

Oracle 행 대 열은 특정 필드의 값을 고유한 값으로 변환한 다음 다른 필드의 행 값을 해당 열 값으로 변환하는 것입니다. 여기서는 여전히 우리 시스템의 학생 점수 테이블을 예로 사용합니다. 점수 테이블 기록(행)은 각 과목의 각 학생의 점수에 해당합니다. 그런 다음 각 학생의 모든 과목을 하나로 표시하는 보고서를 만들어야 합니다. 칼럼. 사례 데이터는 다음과 같습니다.

Oracle에서 행-열 변환을 달성하는 방법

그렇다면 어떻게 달성할 수 있을까요? 몇 가지 방법을 하나씩 설명하겠습니다.

1 먼저 Oracle 그룹화(그룹별)를 사용할 수 있어야 한다고 생각해야 합니다. 구현 코드는 다음과 같습니다.

select c.stuname,
       --利用分组聚合函数       sum(decode(b.coursename, '英语(2018上学期)', t.score, 0)) as "英语(2018上学期)",
       sum(decode(b.coursename, '数学(2018上学期)', t.score, 0)) as "英语(2018上学期)",
       sum(decode(b.coursename, '语文(2018上学期)', t.score, 0)) as "英语(2018上学期)"  from STUDENT.SCORE t, student.course b, student.stuinfo c
 where t.courseid = b.courseid
   and t.stuid = c.stuid
 group by c.stuname

학생을 그룹화하기 위해 그룹별을 사용합니다. , 그리고 디코드를 사용하여 해당 과목의 성적 값을 변환한 다음 이를 합산하여 성적의 결과 값을 얻습니다.

Oracle에서 행-열 변환을 달성하는 방법

2. -이 행 대 열 요구 사항을 완벽하게 해결할 수 있는 함수 PIVOT에서 구체적인 구문 구조는 다음과 같습니다.

SELECT * FROM (数据查询集)PIVOT 
(
 SUM(Score/*行转列后 列的值*/) FOR 
 coursename/*需要行转列的列*/ IN (转换后列的值)
)

구체적인 코드는 다음과 같습니다.

select * from  (select c.stuname,
       b.coursename,
       t.score
  from STUDENT.SCORE t, student.course b, student.stuinfo c
 where t.courseid = b.courseid
   and t.stuid = c.stuid )  /*数据源*/PIVOT 
(
 SUM(score/*行转列后 列的值*/) 
 FOR coursename/*需要行转列的列*/ IN ('英语(2018上学期)' as 英语,'数学(2018上学期)' as 数学,'语文(2018上学期)' as 语文 )
) ;

결과는 다음과 같습니다.

Oracle에서 행-열 변환을 달성하는 방법

Oracle 열 변환

Oracle 열 변환은 행의 고유 값에 따라 행의 열 필드를 변경하는 것입니다. 데이터의 여러 행으로 변환합니다. 예를 들어, 위의 Oracle 행부터 열까지의 학생 점수 테이블의 기본 데이터는 학생의 교과 점수에 해당하는 기록입니다. 그런 다음 행을 열로 변환하고 각 열(수학, 영어, 중국어)의 학생 점수에 해당하는 기록으로 변환했습니다. 그래서 이번 글에서는 이전에 변환한 학생 점수 테이블(백업 테이블 Score_copy)을 다시 열과 행으로 변환하여 원본 데이터로 변환해 보도록 하겠습니다. 사례 데이터는 다음과 같습니다.

Oracle에서 행-열 변환을 달성하는 방법

Oracle에서 행-열 변환을 달성하는 방법

그럼 컬럼 전환을 어떻게 구현하나요? 아래에 두 가지 일반적인 방법을 소개합니다.

1. 해당 열을 행 레코드로 완벽하게 변환할 수 있는 결합에 모두를 사용합니다. 구체적인 코드는 다음과 같습니다.

select t.stuname, '英语' as coursename ,t.英语 as score  from SCORE_COPY t
union all
select t.stuname, '数学' as coursename ,t.数学 as score  from SCORE_COPY t
union all
select t.stuname, '语文' as coursename ,t.语文 as score  from SCORE_COPY t

결과는 다음과 같습니다. . Oracle을 사용하면 자동으로 열 간 함수 unpivot도 이 문제를 완벽하게 해결할 수 있습니다. 구체적인 구문 구조는 다음과 같습니다.

select 字段 from 数据集
unpivot(自定义列名/*列的值*/ for 自定义列名 in(列名))

구현 코드는 다음과 같습니다. Oracle에서 행-열 변환을 달성하는 방법

select stuname, coursename ,score from
score_copy  t
unpivot
(score for coursename in (英语,数学,语文))

결과는 다음과 같습니다.

추천 튜토리얼: "

Oracle Tutorial

"Oracle에서 행-열 변환을 달성하는 방법

위 내용은 Oracle에서 행-열 변환을 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
오라클은 무엇을 제공합니까? 제품 및 서비스가 설명되었습니다오라클은 무엇을 제공합니까? 제품 및 서비스가 설명되었습니다Apr 16, 2025 am 12:03 AM

OracleOffersAcorMeRensiveSuiteOfProductsandServicesIncludingDatabasEmanagement, CloudComputing, EnterprisesOftware, AndHardWaresolutions.1) OracledAtabaseSupportSvariousDatamodelswithiciantmanagementFeatures.2) ORACLECLOUDINFRASTRUCH (OCILECLOUDINFRASTROC) 제공

Oracle Software : 데이터베이스에서 클라우드까지Oracle Software : 데이터베이스에서 클라우드까지Apr 15, 2025 am 12:09 AM

데이터베이스에서 클라우드 컴퓨팅에 이르기까지 Oracle 소프트웨어의 개발 기록에는 다음이 포함됩니다. 1. 1977 년에 시작하여 처음에는 RDBMS (Relational Database Management System)에 중점을 두 었으며 엔터프라이즈 수준의 응용 프로그램의 첫 번째 선택이되었습니다. 2. 미들웨어, 개발 도구 및 ERP 시스템으로 확장하여 완전한 엔터프라이즈 솔루션 세트를 형성합니다. 3. Oracle Database는 SQL을 지원하여 소규모에서 대형 엔터프라이즈 시스템에 적합한 고성능 및 확장 성을 제공합니다. 4. 클라우드 컴퓨팅 서비스의 상승은 Oracle의 제품 라인을 더욱 확장하여 필요한 엔터프라이즈의 모든 측면을 충족시킵니다.

MySQL vs. Oracle : 장단점MySQL vs. Oracle : 장단점Apr 14, 2025 am 12:01 AM

MySQL 및 Oracle 선택은 비용, 성능, 복잡성 및 기능 요구 사항을 기반으로해야합니다. 1. MySQL은 예산이 한정된 프로젝트에 적합하며 설치가 간단하며 중소형 응용 프로그램에 적합합니다. 2. Oracle은 대기업에 적합하며 대규모 데이터 및 높은 동시 요청을 처리하는 데있어 훌륭하게 수행하지만 구성에서는 비용이 많이 들고 복잡합니다.

Oracle의 목적 : 비즈니스 솔루션 및 데이터 관리Oracle의 목적 : 비즈니스 솔루션 및 데이터 관리Apr 13, 2025 am 12:02 AM

Oracle은 비즈니스가 제품 및 서비스를 통해 디지털 혁신 및 데이터 관리를 달성 할 수 있도록 도와줍니다. 1) Oracle은 데이터베이스 관리 시스템, ERP 및 CRM 시스템을 포함한 포괄적 인 제품 포트폴리오를 제공하여 기업이 비즈니스 프로세스를 자동화하고 최적화 할 수 있도록 도와줍니다. 2) E-BusinessSuite 및 FusionApplications와 같은 Oracle의 ERP 시스템은 엔드 투 엔드 비즈니스 프로세스 자동화를 실현하고 효율성을 높이며 비용을 절감하지만 높은 구현 및 유지 보수 비용이 있습니다. 3) Oracledatabase는 높은 동시성 및 고 가용성 데이터 처리를 제공하지만 라이센스 비용이 높습니다. 4) 성능 최적화 및 모범 사례에는 인덱싱 및 분할 기술의 합리적인 사용, 정기 데이터베이스 유지 보수 및 코딩 사양 준수가 포함됩니다.

Oracle 라이브러리 실패를 삭제하는 방법Oracle 라이브러리 실패를 삭제하는 방법Apr 12, 2025 am 06:21 AM

Oracle이 라이브러리를 작성하지 못한 후 실패한 데이터베이스를 삭제하는 단계 : Sys 사용자 이름을 사용하여 대상 인스턴스에 연결하십시오. 드롭 데이터베이스를 사용하여 데이터베이스를 삭제하십시오. 쿼리 v $ 데이터베이스는 데이터베이스가 삭제되었는지 확인합니다.

Oracle Loop에서 커서를 만드는 방법Oracle Loop에서 커서를 만드는 방법Apr 12, 2025 am 06:18 AM

Oracle에서 FOR 루프 루프는 커서를 동적으로 생성 할 수 있습니다. 단계는 다음과 같습니다. 1. 커서 유형을 정의합니다. 2. 루프를 만듭니다. 3. 커서를 동적으로 만듭니다. 4. 커서를 실행하십시오. 5. 커서를 닫습니다. 예 : 커서는 상위 10 명의 직원의 이름과 급여를 표시하기 위해주기별로 만들 수 있습니다.

Oracle View를 내보내는 방법Oracle View를 내보내는 방법Apr 12, 2025 am 06:15 AM

Oracle View는 Expitility : Oracle 데이터베이스에 로그인하여 내보낼 수 있습니다. 뷰 이름 및 내보내기 디렉토리를 지정하여 EXP 유틸리티를 시작하십시오. 대상 모드, 파일 형식 및 테이블 스페이스를 포함한 내보내기 매개 변수를 입력하십시오. 내보내기를 시작하십시오. IMPDP 유틸리티를 사용하여 내보내기를 확인하십시오.

Oracle 데이터베이스를 중지하는 방법Oracle 데이터베이스를 중지하는 방법Apr 12, 2025 am 06:12 AM

Oracle 데이터베이스를 중지하려면 다음 단계를 수행하십시오. 1. 데이터베이스에 연결하십시오. 2. 즉시 종료; 3. 셧다운은 완전히 중단됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.