Maison > base de données > tutoriel mysql > Comment faire pivoter des données avec plusieurs colonnes (organisation et position) dans un format plus large à l'aide de SQL ?

Comment faire pivoter des données avec plusieurs colonnes (organisation et position) dans un format plus large à l'aide de SQL ?

Patricia Arquette
Libérer: 2025-01-03 00:53:41
original
613 Les gens l'ont consulté

How to Pivot Data with Multiple Columns (org and position) into a Wider Format Using SQL?

Pivotement des données à l'aide de plusieurs colonnes

Les requêtes pivots sont essentielles pour réorganiser les données d'un format haut et étroit vers un format large et tabulaire. Dans ce cas précis, vous devez faire pivoter les données représentées dans un format croisé avec deux colonnes, à savoir org et position, dans un format plus large avec des colonnes séparées pour chaque langue (en, fi et sv).

As vous l'avez mentionné, une requête pivot avec la commande CONNECT BY pourrait être utile. Cependant, voici une approche plus simple utilisant l'opérateur PIVOT :

SELECT  user_id,
        MAX(CASE WHEN lang = 'en' THEN org END) AS org_en,
        MAX(CASE WHEN lang = 'en' THEN position END) AS position_en,
        MAX(CASE WHEN lang = 'fi' THEN org END) AS org_fi,
        MAX(CASE WHEN lang = 'fi' THEN position END) AS position_fi,
        MAX(CASE WHEN lang = 'sv' THEN org END) AS org_sv,
        MAX(CASE WHEN lang = 'sv' THEN position END) AS position_sv
FROM    source
GROUP BY user_id
Copier après la connexion

La fonction MAX() est utilisée pour récupérer la dernière valeur associée à chaque ID utilisateur et combinaison de langue. Alternativement, vous pouvez utiliser une fonction d'agrégation comme SUM(), en fonction de vos besoins spécifiques.

Cette requête générera le résultat souhaité :

user_id org_fi position_fi org_en position_en org_sv position_sv
1001 USD Bossa USE Boss NULL NULL
1002 NULL NULL NULL NULL GWR Dim
1003 GGA DCS NULL NULL GCA DDD

N'oubliez pas d'ajuster la fonction MAX() et les expressions CASE basées sur vos données et exigences réelles. Avec cette approche, vous pouvez efficacement faire pivoter vos données en utilisant plusieurs colonnes, vous donnant ainsi la flexibilité de les représenter dans un format qui convient mieux à vos besoins d'analyse et de présentation.

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