首頁 >資料庫 >mysql教程 >如何通過SQL Server中的別名列正確分組?

如何通過SQL Server中的別名列正確分組?

Patricia Arquette
Patricia Arquette原創
2025-01-24 10:17:11977瀏覽

How to Correctly GROUP BY Aliased Columns in SQL Server?

在SQL Server中以別名列分組

在別名列上執行GROUP BY操作可能很棘手,但理解底層語法至關重要。讓我們探討正確的方法。

在你的例子中,別名列是'FullName',它使用表達式「LastName ', ' FirstName」建立。要按此別名分組,不能簡單地像“GROUP BY 'FullName'”那樣使用別名。相反,您需要傳遞建立別名的實際表達式。

正確的語法是:

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

透過指定表達式,您可以指示SQL Server根據'FullName'的計算值執行分組,從而確保結果準確。

進一步擴展,如果別名列是使用CASE語句導出的,例如在你的第二個例子中,同樣的原則適用。 GROUP BY子句仍然應該包含構成別名列的表達式,在本例中是:

<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 CASE
    WHEN LastName IS NULL THEN FirstName
    WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName
END</code>

記住,當別名列分組時,請務必在GROUP BY子句中使用建立別名的表達式,以確保正確的資料聚合。

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

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