Maison >base de données >tutoriel mysql >Comment utiliser Group By avec des colonnes aliasées et des instructions de cas dans SQL Server?

Comment utiliser Group By avec des colonnes aliasées et des instructions de cas dans SQL Server?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-24 10:07:111006parcourir

How Do I Use GROUP BY with Aliased Columns and CASE Statements in SQL Server?

SQL Server GROUP BY : alias et instructions CASE

Ce guide clarifie la syntaxe correcte pour utiliser GROUP BY avec des colonnes avec alias et des instructions CASE dans SQL Server. Comprendre cela est crucial pour une agrégation précise des données.

Regroupement par alias

L'utilisation directe d'un alias dans la clause GROUP BY est incorrecte. Au lieu de cela, vous devez répéter l'expression utilisée pour définir l'alias. Par exemple, pour regrouper par un FullName :

calculé
<code class="language-sql">SELECT LastName + ', ' + FirstName AS FullName
FROM customers
GROUP BY LastName + ', ' + FirstName;</code>

Regroupement avec les instructions CASE

Le même principe s'applique lorsque votre alias est dérivé d'une déclaration CASE. La clause GROUP BY doit refléter exactement l'expression CASE :

<code class="language-sql">SELECT       
    CASE
        WHEN LastName IS NULL THEN FirstName
        ELSE LastName + ', ' + FirstName
    END AS FullName
FROM         customers
GROUP BY     
    CASE
        WHEN LastName IS NULL THEN FirstName
        ELSE LastName + ', ' + FirstName
    END;</code>

Rappelez-vous : l'expression dans GROUP BY doit correspondre précisément à l'expression créant l'alias pour garantir un regroupement correct de valeurs identiques. Cela garantit l'intégrité des données lors de l'agrégation des résultats.

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