sql-server - TSQL 如何按文字分组?

标签 sql-server tsql group-by

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

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]

Demo

关于sql-server - TSQL 如何按文字分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047890/

相关文章:

sql-server - 使用 sum 和 group 在 SQL 中查询

c# - 具有 varbinary(max) OUTPUT 的 CLR 存储过程失败,但与 T-SQL 相同的过程

sql - 列出 SQL Server 数据库中的所有序列

MySQL:从多个表,子查询中排名?

mysql - 显示上传的最后一个图像而不是 mysql group by 中的第一个图像

ruby - 将 SSPI 与 Ruby TinyTDS 结合使用 - 可能吗?

SQL - 在同一查询中填充多个变量

r - 选择具有其他列的特定值的列的不同值

c# - 我需要将 2 列的数据合并到另一列。然后将该添加列的所有行合并到另一个表中的一个单元格中

c# - Visual C# SQL 语句不会插入到数据库中