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>
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>
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>
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>
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!