如何对SQL Server中的别名列执行GROUP BY?

How do I perform a GROUP BY on an aliased column in SQL Server?(如何对SQL Server中的别名列执行GROUP BY?)

本文介绍了如何对SQL Server中的别名列执行GROUP BY?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试对别名列(下例)执行GROUP BY操作,但无法确定正确的语法。

SELECT       LastName + ', ' + FirstName AS 'FullName'
FROM         customers
GROUP BY     'FullName'

正确的语法是什么?

进一步扩展问题(我没有预料到收到的答案)该解决方案是否仍适用于CASEed别名列?

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

答案是肯定的,它仍然适用。

推荐答案

您传递的是要分组的表达式,而不是别名

SELECT       LastName + ', ' + FirstName AS 'FullName'
FROM         customers
GROUP BY      LastName + ', ' + FirstName

这篇关于如何对SQL Server中的别名列执行GROUP BY?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何对SQL Server中的别名列执行GROUP BY?

基础教程推荐