2016-05-20 152 views
0

我有几个表,我将它们合并在一起,最后,我使用COUNT函数来转换它们。我一直试图使用COUNT DISTINCT而不是COUNT。但是SQL给了我一个错误。SQL中的多个聚合函数

PIVOT( 
    COUNT (DISTINCT ALL_Union_Table.Value) FOR Label IN ([A],[B],C],[D],[E]) 
) As Final 

错误我脸:

消息156,15级,状态1,140线 附近关键字 '独特' 的语法不正确。

另外,是否有可能如果我想要他们两个?我的意思是有什么方法可以在SQL中使用数据透视表格中的多个聚合函数?

+1

您可以在子查询中使用'distinct'。 –

+0

考虑将此更改为两个不同的问题。 – Sturgus

回答

0

请问:

SELECT DISTINCT Label, [Value] 
FROM (
--foo1 
Union 
--foo2 
union 
--foo3 
) AS ALL_Union_Table 
PIVOT( 
    COUNT (ALL_Union_Table.Value) FOR Label IN ([A],[B],[C],[D],[E]) 
) As Final 

不适合你的工作吗?

至于在一个数据透视表上做多个聚合查询,我会做两个单独的(但相似的)透视查询并在它们之间进行连接。