gpt4 book ai didi

sql - 按列别名分组

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:34 26 4
gpt4 key购买 nike

我想按列别名对 sql 语句进行分组。本质上,我希望下面的功能按逻辑应有的方式运行,但不允许按使用 as 创建的列进行分组。 (无效的列名)。有人有任何提示吗?

SELECT 
CASE
WHEN Date IS NULL
THEN 'EMPTY'
ELSE
CASE
WHEN Date = '1/1/1753'
THEN 'UNAVAILABLE'
ELSE CAST(MONTH(Date) as varchar(MAX))+
'/'+ CAST(YEAR(Date) as varchar(MAX))
END
END AS MonthYear
FROM tbltablename
GROUP BY MonthYear

最佳答案

对于紧迫的分组问题,您需要根据新列的相同表达式或计算进行分组,或者从派生表中使用它。

SELECT MonthYear
FROM ( SELECT Columns,
CASE
WHEN Date IS NULL
THEN 'EMPTY'
ELSE
CASE
WHEN Date = '1/1/1753'
THEN 'UNAVAILABLE'
ELSE CAST(MONTH(Date) as varchar(2))+
'/'+ CAST(YEAR(Date) as varchar(4))
END
END AS MonthYear
FROM tbltablename) T
GROUP BY MonthYear

另一方面,如果没有必要,您不应该使用 VARCHAR(MAX)

关于sql - 按列别名分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11145123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com