Maison >base de données >tutoriel mysql >Comment puis-je fusionner efficacement des lignes dans SQL pour combiner des données ?

Comment puis-je fusionner efficacement des lignes dans SQL pour combiner des données ?

DDD
DDDoriginal
2024-12-31 13:50:10886parcourir

How Can I Efficiently Merge Rows in SQL to Combine Data?

Fusionner efficacement les lignes en SQL

En SQL, il est souvent nécessaire de combiner les informations de plusieurs lignes en une seule ligne consolidée. Considérez le tableau suivant :

FK | Field1 | Field2
=====================
3  | ABC    | *NULL*
3  | *NULL* | DEF

Pour obtenir une ligne fusionnée, il est possible d'utiliser des fonctions d'agrégation telles que MAX ou MIN. Ces fonctions ignorent les valeurs NULL, ce qui nous permet de combiner des valeurs non nulles de différentes lignes.

La requête suivante démontre l'utilisation de la fonction d'agrégation MAX pour fusionner les deux lignes :

SELECT
    FK,
    MAX(Field1) AS Field1,
    MAX(Field2) AS Field2
FROM
    table1
GROUP BY
    FK;

Dans SQL Server Express 2008 R2, cette requête produit le résultat suivant :

FK  Field1  Field2
--  ------  ------
3   ABC     DEF

Cette requête fusionne efficacement les deux lignes en une seule ligne consolidée. ligne, en préservant la colonne FK et en combinant les valeurs non nulles pour Field1 et Field2.

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!

Déclaration:
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