如果在Postgres中抽签,如何显示所有结果?

尼科斯·拉达斯(NikosLardas)

因此,我正在使用PostgreSQL DBMS,并且有以下查询:

Select "CustomerID",Sum("TotalDue") as Total
from "Bike Business"."SalesOrderHeader" 
group by "CustomerID"
order by Total desc limit 1;

该查询将打印具有最大订单成本的人员的ID和最大成本的数量。但是在平局的情况下,两个或两个以上的人具有相同的最大订单成本,我希望查询也打印他们的ID和最大成本。我怎样才能做到这一点?

a_horse_with_no_name

您可以为此使用窗口函数:

select "CustomerID", total
from (
  Select "CustomerID",
          Sum("TotalDue") as Total,
          dense_rank() over (order by Sum("TotalDue") desc) as rnk
  from "Bike Business"."SalesOrderHeader" 
  group by "CustomerID"
) t
where rnk = 1;

这可能会比带有子选择表或派生表的等效查询更快。

而且它还具有其他优势,您可以轻松获得第二或第三最高值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果在db查询中没有返回结果,如何显示消息

如果在本机中未选中所有复选框,如何禁用按钮

如果在Jquery Autocomplete和Django中不是唯一的结果,如何仅显示一个结果

如果在for循环中嵌套,则似乎使用所有结果而不是单个结果

如果在javascript中具有相同ID,如何合并数组中所有属性的两个对象?

如果在搜索栏中找不到结果,则显示错误消息

如果在搜索中未找到结果,则PHP PDO显示消息

如果在表中多次发现 a 列中的相同值,则排除所有行

如果在超类中定义了方法,则如何根据调用该对象的对象更改结果

如果在 Angular 中找不到结果,如何隐藏组件

如果在使用 postgres 的休眠中不存在,如何进行高性能插入?

如果在选择查询中使用别名,如何计算所有记录?

如果在列中找到特定值,如何获取行中所有值的列表

如果在 foreach 方法中的所有方法调用都返回 true

查找和删除文件,同时保留所有匹配的文件(如果在特定目录中)

如果在MySQL中IN子句为空,则给出所有行

熊猫多索引:如果在第二索引中,则打印所有第一索引

如果在R中重复所有值,请用NA填充列

如果在 R 中满足两个条件,则删除所有 id

如果在列表中未找到红色通道,请替换所有像素

Postgres如果在select语句中如何避免重复

php如果在mysql中没有记录,则显示默认图像

如果在某些关键javascript中具有相同的值,则显示数组

如果在 console.log 中成功获取数据,如何显示成功消息?

如果在javascript中按下“后退”按钮,如何显示警报消息?

如果在Parse中将其设置为true,如何仅在PFQueryTableViewController中显示项目-Swift

如果在固定容器中溢出div,如何使两个可滚动显示?

如果在SELECT查询后SQL中不存在行,如何显示错误消息?

如果在JQUERY中keyup为空,如何显示div