【问题标题】:Multiple Aggregate functions in SQLSQL 中的多个聚合函数
【发布时间】:2016-05-20 14:45:43
【问题描述】:

我有几个表,我将它们全部合并,最后,我使用 COUNT 函数对它们进行透视。我一直在尝试使用 COUNT DISTINCT 而不是 COUNT。但是 SQL 给了我一个错误。

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

我面临的错误:

消息 156,级别 15,状态 1,行 140 关键字“DISTINCT”附近的语法不正确。

另外,如果我想同时拥有它们,可以吗?我的意思是有没有办法在 SQL 中以数据透视格式拥有多个聚合函数?

【问题讨论】:

  • 您可以在子查询中使用distinct。
  • 考虑将其改为两个不同的问题。

标签: sql count distinct aggregate-functions pivot-table


【解决方案1】:

做:

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

不适合你?

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

【讨论】:

    猜你喜欢
    • 2016-03-20
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多