如何对 MS-SQL Server 中的别名列执行 GROUP BY? [英] How do I perform a GROUP BY on an aliased column in MS-SQL Server?

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

问题描述

我正在尝试对别名列(下面的示例)执行 group by 操作,但无法确定正确的语法.

I'm trying to perform a group by action on an aliased column (example below) but can't determine the proper syntax.

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

正确的语法是什么?


编辑

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

Extending the question further (I had not expected the answers I had received) would the solution still apply for a CASEed aliased column?

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

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

And the answer is yes it does still apply.

推荐答案

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

You pass the expression you want to group by rather than the alias

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

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆