【问题标题】:How to group by sum without using sum function in select?如何在不使用 sum 函数的情况下按 sum 分组?
【发布时间】:2016-10-22 13:37:50
【问题描述】:

有一个客户表,其中包含 id、名字、国家和发票总额(针对每个客户)。我需要根据每个国家/地区产生的收入编写一个显示国家/地区列表(按降序排列)的查询。 我正在尝试以下查询:

从客户组中选择国家,sum(invoicetotal) by country order by 2 desc

输出与预期结果一致,但增加了一列 sum(invoicetotal)。如果不使用 select 中的 sum() 函数,我无法想出一种根据 imvoicetotal 的总和对国家进行排序的方法。

【问题讨论】:

标签: sql


【解决方案1】:

你应该可以做到:

select country
from t
group by country
order by sum(revenue) desc;

我认为所有数据库都支持在order by 中使用聚合函数,即使该值不在select 中。

【讨论】:

    猜你喜欢
    • 2010-11-07
    • 2013-10-16
    • 2016-09-20
    • 1970-01-01
    • 2021-05-22
    • 2019-09-01
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多