gpt4 book ai didi

sql - 如何从 PostgresQL 中的 MAX() 聚合函数获取两个值

转载 作者:搜寻专家 更新时间:2023-10-30 22:05:46 24 4
gpt4 key购买 nike

现在我有一个查询,我将对其使用 MAX() 聚合函数。我做到了

使用 t2 AS(
选择 customerid , sum(total) sumTotal
从发票
按 1 分组
按 1 订购
)
选择 c.customerid customerid,c.firstName firstName,c.lastName lastName,
c.country customerCountry , MAX(总和) MaxSumTotal
FROM 客户 c JOIN t2
ON c.customerid = t2.customerid
按 4 分组
按 4 排序

但是那个只为 MAX() 返回一个值。我有一个有两个相等的 MAX() 输出。我想展示他们两个

我该怎么做???

这是数据库的ERD图 Database ERD

最佳答案

使用rank():

WITH t2 AS (
SELECT customerid , sum(total) as sumTotal,
RANK() OVER (ORDER BY sum(total) DESC) as seqnum
FROM invoice
GROUP BY 1
)
SELECT c.customerid, c.firstName firstName, c.lastName lastName,
c.country as customerCountry, sumTotal as MaxSumTotal
FROM customer c JOIN
t2
ON c.customerid = t2.customerid
WHERE seqnum = 1
ORDER BY c.customerid;

关于sql - 如何从 PostgresQL 中的 MAX() 聚合函数获取两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55442328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com