如何获得包含每个分组集的最大值的行?
我在这个问题上看到过一些过于复杂的变化,没有一个能给出好的答案。我试着把最简单的例子放在一起:
如果有这样一个表,其中有person、group和age列,那么您如何获得每组中最年长的人(一组中的平局应给出第一个按字母顺序排列的结果)
Person | Group | Age
---
Bob | 1 | 32
Jill | 1 | 34
Shawn| 1 | 42
Jake | 2 | 29
Paul | 2 | 36
Laura| 2 | 39
期望结果集:
Shawn | 1 | 42
Laura | 2 | 39
17条答案
按热度按时间46scxncf16#
你也可以试试
jjjwad0x17#
我针对sqlite(可能还有mysql)的简单解决方案:
但是,它在postgresql和其他一些平台中不起作用。
在postgresql中,可以使用distinct on子句: