TSQL如何按文字分组?

Rum*_*tor 3 t-sql sql-server group-by

我将这个问题简化为一个非常简单的形式:

SELECT
'A' AS [Literal]
UNION 
SELECT
'B' AS [Literal]
GROUP BY
[Literal]
Run Code Online (Sandbox Code Playgroud)

我收到消息:

消息207,级别16,状态1,行7无效的列名称"文字".

我尝试了同样的结果:

SELECT
t.literal FROM 
(SELECT 'A' AS [Literal]) t
UNION 
SELECT
'B' 
GROUP BY
[Literal]
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 6

当你想要GROUP BY一个时,你需要一个派生表UNION:

SELECT X.[Literal], [Count] = COUNT(*)
FROM(
    SELECT [Literal] = 'A'
    UNION ALL 
    SELECT [Literal] = 'B'
) X
GROUP BY X.[Literal]
Run Code Online (Sandbox Code Playgroud)

演示