SQL Server GROUP BY:別名與 CASE 語句
本指南闡明了在 SQL Server 中將 GROUP BY
與別名列和 CASE
語句一起使用的正確語法。 理解這一點對於準確的數據聚合至關重要。
依別名分組
在 GROUP BY
子句中直接使用別名是不正確的。 相反,您必須重複用於定義別名的表達式。 例如,按計算的 FullName
進行分組:
<code class="language-sql">SELECT LastName + ', ' + FirstName AS FullName FROM customers GROUP BY LastName + ', ' + FirstName;</code>
使用 CASE 語句進行分組
當您的別名源自 CASE
語句時,同樣的原則也適用。 GROUP BY
子句必須準確反映 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>
請記住:GROUP BY
中的表達式必須與建立別名的表達式精確匹配,以確保相同值的正確分組。 這可以確保聚合結果時資料的完整性。
以上是如何將組與SQL Server中的別名列和案例語句一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!