我将这个问题简化为一个非常简单的形式:
SELECT
'A' AS [Literal]
UNION
SELECT
'B' AS [Literal]
GROUP BY
[Literal]
我收到消息:
Msg 207, Level 16, State 1, Line 7 Invalid column name 'Literal'.
我试过了,结果是一样的:
SELECT
t.literal FROM
(SELECT 'A' AS [Literal]) t
UNION
SELECT
'B'
GROUP BY
[Literal]
最佳答案
当您想要 GROUP BY
时,您需要一个派生表一个UNION
:
SELECT X.[Literal], [Count] = COUNT(*)
FROM(
SELECT [Literal] = 'A'
UNION ALL
SELECT [Literal] = 'B'
) X
GROUP BY X.[Literal]
关于sql-server - TSQL 如何按文字分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047890/