Maison > base de données > tutoriel mysql > Comment utiliser l'opérateur PIVOT d'Oracle SQL pour la transformation des données ?

Comment utiliser l'opérateur PIVOT d'Oracle SQL pour la transformation des données ?

Linda Hamilton
Libérer: 2025-01-23 07:26:09
original
808 Les gens l'ont consulté

How to Use Oracle SQL's PIVOT Operator for Data Transformation?

Requête pivot dans Oracle SQL

Les requêtes pivot vous permettent de convertir les données du format de colonne traditionnel au format de ligne, ce qui facilite l'analyse et la comparaison des données dans différentes catégories.

Créer une requête pivot

Pour créer des requêtes pivot dans Oracle SQL, vous pouvez utiliser l'opérateur PIVOT. Cet opérateur vous oblige à spécifier les données que vous souhaitez faire pivoter, une fonction d'agrégation (telle que SUM, COUNT ou AVG) et les valeurs de catégorie autour desquelles vous souhaitez pivoter.

Exemples de données et de requêtes

Considérez l'exemple de données suivant de la table tq84_pivot :

<code>MONTH | VALUE
-------+-----------
1      | 100
2      | 200
3      | 300
4      | 400
5      | 500
6      | 600</code>
Copier après la connexion

Pour faire pivoter vos données autour des catégories mensuelles et additionner la colonne VALEUR, vous pouvez utiliser la requête suivante :

<code class="language-sql">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)
);</code>
Copier après la connexion

Résultats de sortie

Cette requête renverra le résultat suivant :

<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | MONTH_APR | MONTH_MAI | MONTH_JUN
--------+--------+--------+--------+--------+--------
100      | 200      | 300      | 400      | 500      | 600</code>
Copier après la connexion

Oracle 11g et supérieur

Oracle 11g introduit l'opérateur PIVOT, qui vous permet de créer des requêtes pivot de manière plus concise. Pour les mêmes exemples de données, la requête peut être simplifiée à :

<code class="language-sql">SELECT
  MONTH_JAN, MONTH_FEB, MONTH_MAR, MONTH_APR, MONTH_MAI, MONTH_JUN
FROM
  tq84_pivot
PIVOT (
  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)
);</code>
Copier après la connexion

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