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  

questionAnswers(17)

yourAnswerToTheQuestion