Maison > base de données > tutoriel mysql > Comment faire pivoter les données des lignes vers les colonnes dans Oracle SQL ?

Comment faire pivoter les données des lignes vers les colonnes dans Oracle SQL ?

Patricia Arquette
Libérer: 2025-01-23 07:31:10
original
252 Les gens l'ont consulté

How to Pivot Data from Rows to Columns in Oracle SQL?

Création de requêtes pivot dans Oracle SQL

Dans Oracle SQL, les requêtes pivot sont utilisées pour convertir l'orientation verticale des données en orientation horizontale. Un scénario courant consiste à convertir des données organisées en lignes dans un format présenté en colonnes.

Exemple

Considérons un tableau de données contenant les colonnes "MOIS" et "VALEUR" :

MONTH VALUE
1 100
2 200
3 300
4 400
5 500
6 600

Résultats attendus

Le résultat attendu est un tableau croisé dynamique avec une colonne pour chaque mois unique affichant la "VALEUR" correspondante :

MONTH_JAN MONTH_FEB MONTH_MAR MONTH_APR MONTH_MAY MONTH_JUN
100 200 300 400 500 600

Oracle 11g et supérieur

Dans Oracle 11g et versions ultérieures, l'opérateur PIVOT peut être utilisé :

<code class="language-sql">create table tq84_pivot (
  month number,
  value number
);

insert into tq84_pivot values(1, 100);
insert into tq84_pivot values(2, 200);
insert into tq84_pivot values(3, 300);
insert into tq84_pivot values(4, 400);
insert into tq84_pivot values(5, 500);
insert into tq84_pivot values(6, 600);

-- 同一月有多个值
insert into tq84_pivot values(1, 400);
insert into tq84_pivot values(2, 350);
insert into tq84_pivot values(4, 150);

select 
  *
from
  tq84_pivot
pivot (
   sum (value) as sum_value for
     (month) in (1 as month_jan,
                 2 as month_feb,
                 3 as month_mar,
                 4 as month_apr,
                 5 as month_mai,
                 6 as month_jun,
                 7 as month_jul,
                 8 as month_aug,
                 9 as month_sep,
                10 as month_oct,
                11 as month_nov,
                12 as month_dec)
);</code>
Copier après la connexion

Cette requête créera le tableau croisé dynamique requis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal