gpt4 book ai didi

postgresql - 如何在 PostgreSQL 中获取每个等级的平均行数?

转载 作者:行者123 更新时间:2023-11-29 13:24:06 24 4
gpt4 key购买 nike

是否有任何选项可以使用 PostgreSQL 中的 RANK() 函数获取相同值的平均值?这是我想做的事的例子:

example

最佳答案

此查询将为您解决问题

SELECT
test_score,
row_number() OVER (ORDER BY test_score) AS rank,
rank() OVER (ORDER BY test_score)
+ (count(*) OVER (PARTITION BY test_score) - 1) / 2.0 AS "rank (with tied)"
FROM scores

SQLFiddle

备注:

  • 您认为“排名”实际上是 row_number()(即一系列连续的正整数,没有间隙也没有重复)。
  • 您要查找的“并列”排名可以根据实际 rank()(有差距的排名)+ other 元素的数量计算得出同样的等级除以二。这是根据您的特定要求计算平均 row_number() 的更快快捷方式。

关于postgresql - 如何在 PostgreSQL 中获取每个等级的平均行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36823447/

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