返回每组最大值的行

卡西姆·谢赫(Kaasim Shaikh)

我有下表,名称为t2

  realm   |    race    | gender | total  
----------+------------+--------+--------
 Buffalo  | faerie     | F      |   5972
 Buffalo  | faerie     | M      |   2428
 Buffalo  | footballer | F      |   1954
 Buffalo  | footballer | M      |   2093
 Buffalo  | raccoon    | F      |   2118
 Buffalo  | raccoon    | M      |   1237
 Buffalo  | shark      | F      |  12497
 Buffalo  | shark      | M      |   3621
 Buffalo  | wizard     | F      |    468
 Buffalo  | wizard     | M      |  11079
 Camelot  | faerie     | F      |   2414
 Camelot  | faerie     | M      |   1455

我想创建一个查询,仅选择总数最高的领域,种族和性别。每次使用时,GROUP BY我都会保持性别不变。

输出表如下所示:

  realm   |    race    | gender | total  
----------+------------+--------+--------
 Buffalo  | faerie     | F      |   5972
 Buffalo  | footballer | M      |   2093
 Buffalo  | raccoon    | F      |   2118
...

我认为我对如何比较行的理解很差。
我不知道如何写该WHERE子句,这样当我时GROUP BY realm,race,gender,我只能得到1个性别。

欧文·布兰德斯特

一个完美的用例DISTINCT ON

SELECT DISTINCT ON (realm, race) *
FROM   tbl
ORDER  BY realm, race, total DESC;

db <>在这里拨弄

值得注意的是,查询根本没有GROUP BY
假设总数是NOT NULL,否则追加NULLS LAST
如果是平局,除非您添加更多ORDER BY项目打破平局,否则获胜者是任意的。

详细说明:

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每组返回单个记录,最大值

来自分类Dev

筛选每组n个最大值的行

来自分类Dev

多索引数据框删除行,每组最大值

来自分类Dev

SQL查询以选择每组最大值的每一行

来自分类Dev

每组的最小值和最大值

来自分类Dev

每组保持顺序的最小值和最大值

来自分类Dev

找出每组内的最大值和最小值

来自分类Dev

返回行标签以获取Excel R中的最大值

来自分类Dev

返回行中3个最大值的列名称

来自分类Dev

返回具有一列最大值的行

来自分类Dev

每组获得一个最大值

来自分类Dev

如何获取每组最大值的所有记录

来自分类Dev

QueryDSL返回最大值

来自分类Dev

返回最大值的索引

来自分类Dev

对于d中第c行的每个值,返回最大值为a的行

来自分类Dev

查询以返回日期范围内的行,但仅返回列的最大值

来自分类Dev

返回数组中最大值的索引

来自分类Dev

MYSQL返回每个组的最大值

来自分类Dev

MongoDB查找并全部返回最大值

来自分类Dev

从SQL选择中返回最大值

来自分类Dev

返回数组javascript的最大值

来自分类Dev

在javascript对象中返回最大值

来自分类Dev

如何以最大值返回多行

来自分类Dev

返回所有组的最大值?

来自分类Dev

Max()函数不返回最大值

来自分类Dev

Oracle SQL:仅返回最大值

来自分类Dev

返回数组中最大值的索引

来自分类Dev

如何返回最大值的对应日期

来自分类Dev

从多维数组 (ndarray) 返回最大值