SQL GROUP BY 仅在子查询中

标签 sql postgresql postgresql-9.5

我有一组属于不同品牌的不同帐户在不同日期的粉丝数量的数据点:

|brand|account|date|fans| 
|-----|-------|----|----|
|Ford |ford_uk|... |10  |
|Ford |ford_uk|... |11  |
|Ford |ford_us|... |20  | 
|Ford |ford_us|... |21  | 
|Jeep |jeep_uk|... |30  |
|Jeep |jeep_uk|... |31  |
|Jeep |jeep_us|... |40  |
|Jeep |jeep_us|... |41  |

我正在尝试按品牌返回粉丝总数,定义为每个品牌账户的最大粉丝数之和:

Ford: 32
Jeep: 72

我试过这样的子查询:

(SELECT sum(account_fans)
  FROM
  (
    SELECT max(fans) AS account_fans
    GROUP BY account
  ) subquery_name
) AS total_fans

问题是我得到:

ERROR: subquery uses ungrouped column account from outer query.

但我不想对外部查询进行分组。你能帮忙吗?

最佳答案

您是否尝试过以这种方式编写您的查询?

select  brand, sum(mx)
from    (
            select  brand, account, max(fans) mx
            from    account_fans
            group by brand, account
        ) t1
group by brand

关于SQL GROUP BY 仅在子查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42926091/

相关文章:

postgresql - postgres 中缓慢的模式/表创建

sql - 如何在时间跨度内包含多个分组的缺失数据?

mysql - 找出两个用户之间的连接,排除一个用户不存在的列

mysql - sql 比内部连接的交集更好的方法

sql - POSTGRES - 将(子)表达式错误评估为 NULL

PostgreSQL 错误缓存查找失败的关系 - 是什么原因造成的?为什么?

linux - 通过 pgAdmin III 的 PostgreSQL - 服务器不监听

sql - 列引用对于函数中的局部变量不明确

SQL - 创建 SQL 以加入列表

shell - -su : syntax error near unexpected token '('