首頁 >資料庫 >mysql教程 >如何按SQL Server中的別名列進行分組?

如何按SQL Server中的別名列進行分組?

Susan Sarandon
Susan Sarandon原創
2025-01-24 10:22:11156瀏覽

How to GROUP BY Aliased Columns in SQL Server?

在SQL Server中使用別名列進行GROUP BY操作

在SQL Server中,對別名列執行GROUP BY操作需要特定的語法。以下是必要的調整:

不要在GROUP BY子句中引用別名(例如,GROUP BY 'FullName'),而應使用定義別名本身的表達式。例如,如果別名'FullName'定義為LastName ', ' FirstName,則正確的GROUP BY表達式為:

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

此修改後的查詢根據計算的'FullName'表達式正確應用GROUP BY操作,從而對結果進行分組。

擴展:CASE表達式

同樣的原則也適用於從CASE表達式派生的別名列。考慮以下示例:

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

在這裡,GROUP BY子句列出了LastName和FirstName,因為它們包含在用於派生'FullName'別名的CASE表達式中。這確保了結果根據用於計算'FullName'的基礎值進行分組。

以上是如何按SQL Server中的別名列進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn