Obter registros com valor máximo para cada grupo de resultados de SQL agrupados
Como você obtém as linhas que contêm o valor máximo para cada conjunto agrupado?
Eu vi algumas variações excessivamente complicadas nesta questão, e nenhuma com uma boa resposta. Eu tentei reunir o exemplo mais simples possível:
Dada uma tabela como essa abaixo, com colunas de pessoa, grupo e idade, como você obteria a pessoa mais velha em cada grupo? (Um empate dentro de um grupo deve dar o primeiro resultado alfabético)
Person | Group | Age
---
Bob | 1 | 32
Jill | 1 | 34
Shawn| 1 | 42
Jake | 2 | 29
Paul | 2 | 36
Laura| 2 | 39
Conjunto de resultados desejado:
Shawn | 1 | 42
Laura | 2 | 39