Home Database Oracle How to convert rows to columns in Oracle

How to convert rows to columns in Oracle

Apr 18, 2023 am 09:06 AM

In Oracle database, row conversion is a common data processing requirement. It converts multiple values ​​in a row into multiple values ​​in a column for better presentation and analysis of data.

For example, assume we have the following table:

##1John8070902Lily9085953Tom6075 ##If we want to convert each student's grade into a separate row, we can use row to column to achieve the following result:
ID Name Score1 Score2 Score3
##80

IDNameSubjectScore##1JohnJohnJohn##2Lily Score1902LilyScore2852LilyScore3953TomScore1603TomScore2753TomScore380Use UNPIVOT to transfer rows to columns
Score1 80 1
Score2 70 1
Score3 90
In Oracle, there are several Methods can be used to convert rows to columns, including using UNPIVOT and UNION ALL. Next, we will detail the steps and syntax of each method.
UNPIVOT is a keyword in Oracle SQL that can move columns into rows. Use UNPIVOT query to convert multiple columns into multiple rows. To use UNPIVOT, you first need to ensure that each row in the table has the same number of columns and the same data type.

The following are the steps to use UNPIVOT to convert rows to columns:

Step 1: Create a sample table

First, we need to create a sample table to prepare the data.

CREATE TABLE score (
   ID INT,
   Name VARCHAR2(20),
   Score1 INT,
   Score2 INT,
   Score3 INT
);

INSERT INTO score VALUES (1, 'John', 80, 70, 90);
INSERT INTO score VALUES (2, 'Lily', 90, 85, 95);
INSERT INTO score VALUES (3, 'Tom', 60, 75, 80);
COMMIT;
Copy after login
Copy after login
Step 2: Run the UNPIVOT query

Then, we can use the following UNPIVOT query to transform the data:

SELECT ID, Name, Subject, Score
FROM score
UNPIVOT (
   Score FOR Subject IN (Score1, Score2, Score3)
);
Copy after login
The running results are as follows:

ID

NameSubjectScore1JohnScore1801JohnScore2701JohnScore390Score1Score2Score3Score1##3TomScore2753TomScore380
DROP TABLE score;
Copy after login
Copy after login
Use UNION ALL to convert rows to columns
##2 Lily
90 2 Lily
85 2 Lily
95 3 Tom
60
Step 3: Clear the table Finally, we can clear the data by deleting the table:
UNION ALL too A method used in Oracle SQL to convert rows to columns. Columns can be converted into rows using a UNION ALL query. The following are the steps to use UNION ALL to convert rows to columns:

Step 1: Create a sample table

First, we need to create a sample table to prepare the data.

CREATE TABLE score (
   ID INT,
   Name VARCHAR2(20),
   Score1 INT,
   Score2 INT,
   Score3 INT
);

INSERT INTO score VALUES (1, 'John', 80, 70, 90);
INSERT INTO score VALUES (2, 'Lily', 90, 85, 95);
INSERT INTO score VALUES (3, 'Tom', 60, 75, 80);
COMMIT;
Copy after login
Copy after login
Step 2: Run UNION ALL query

Then, we can use the following UNION ALL query to transform the data:

SELECT ID, Name, 'Score1' Subject, Score1 Score FROM score
UNION ALL
SELECT ID, Name, 'Score2' Subject, Score2 Score FROM score
UNION ALL
SELECT ID, Name, 'Score3' Subject, Score3 Score FROM score
ORDER BY ID, Subject;
Copy after login
The running results are as follows:

ID

Name

SubjectScoreScore180709090859560##3Tom Score2753TomScore380
DROP TABLE score;
Copy after login
Copy after login
Row to column is a common Data processing technology allows us to better display and analyze data. In Oracle SQL, we can use UNPIVOT and UNION ALL to convert rows to columns. By mastering these concepts and related syntax, we can easily process and analyze data in the database.
##1 John
1 John Score2
1 John Score3
2 Lily Score1
2 Lily Score2
2 Lily Score3
3 Tom Score1
Step 3: Clear the table Finally, we can clear the data by deleting the table: Summary

The above is the detailed content of How to convert rows to columns in Oracle. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the oracle database operation tools? What are the oracle database operation tools? Apr 11, 2025 pm 03:09 PM

In addition to SQL*Plus, there are tools for operating Oracle databases: SQL Developer: free tools, interface friendly, and support graphical operations and debugging. Toad: Business tools, feature-rich, excellent in database management and tuning. PL/SQL Developer: Powerful tools for PL/SQL development, code editing and debugging. Dbeaver: Free open source tool, supports multiple databases, and has a simple interface.

What to do if the oracle can't be opened What to do if the oracle can't be opened Apr 11, 2025 pm 10:06 PM

Solutions to Oracle cannot be opened include: 1. Start the database service; 2. Start the listener; 3. Check port conflicts; 4. Set environment variables correctly; 5. Make sure the firewall or antivirus software does not block the connection; 6. Check whether the server is closed; 7. Use RMAN to recover corrupt files; 8. Check whether the TNS service name is correct; 9. Check network connection; 10. Reinstall Oracle software.

How to learn oracle database How to learn oracle database Apr 11, 2025 pm 02:54 PM

There are no shortcuts to learning Oracle databases. You need to understand database concepts, master SQL skills, and continuously improve through practice. First of all, we need to understand the storage and management mechanism of the database, master the basic concepts such as tables, rows, and columns, and constraints such as primary keys and foreign keys. Then, through practice, install the Oracle database, start practicing with simple SELECT statements, and gradually master various SQL statements and syntax. After that, you can learn advanced features such as PL/SQL, optimize SQL statements, and design an efficient database architecture to improve database efficiency and security.

How to solve the problem of closing oracle cursor How to solve the problem of closing oracle cursor Apr 11, 2025 pm 10:18 PM

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

How to create cursors in oracle loop How to create cursors in oracle loop Apr 12, 2025 am 06:18 AM

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

Oracle PL/SQL Deep Dive: Mastering Procedures, Functions & Packages Oracle PL/SQL Deep Dive: Mastering Procedures, Functions & Packages Apr 03, 2025 am 12:03 AM

The procedures, functions and packages in OraclePL/SQL are used to perform operations, return values ​​and organize code, respectively. 1. The process is used to perform operations such as outputting greetings. 2. The function is used to calculate and return a value, such as calculating the sum of two numbers. 3. Packages are used to organize relevant elements and improve the modularity and maintainability of the code, such as packages that manage inventory.

How to check tablespace size of oracle How to check tablespace size of oracle Apr 11, 2025 pm 08:15 PM

To query the Oracle tablespace size, follow the following steps: Determine the tablespace name by running the query: SELECT tablespace_name FROM dba_tablespaces; Query the tablespace size by running the query: SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

How to view the oracle database How to view the oracle database How to view the oracle database How to view the oracle database Apr 11, 2025 pm 02:48 PM

To view Oracle databases, you can use SQL*Plus (using SELECT commands), SQL Developer (graphy interface), or system view (displaying internal information of the database). The basic steps include connecting to the database, filtering data using SELECT statements, and optimizing queries for performance. Additionally, the system view provides detailed information on the database, which helps monitor and troubleshoot. Through practice and continuous learning, you can deeply explore the mystery of Oracle database.

See all articles