Marcelo, repare que nem a sua e nem a minha solução funcionam :) Culpa da pressa...
Veja que a linha " 2010 | 1 | 1836" simplesmente não existe na tabela original. Fiz uma solução mais completa, veja se atende : select t1.ano, t1.mes, t1.codfun from t1 join ( select min( ((ano::integer * 100) + mes::integer) ) as anomes, codfun from t1 group by codfun ) t2 on t1.codfun=t2.codfun and ((t1.ano::integer * 100) + t1.mes::integer) = t2.anomes Solução: 2010;4 ;1593 2010;2 ;1836 2010;4 ;2398 ----- Mensagem original ----- select * from t1; ano | mes | codfun ------+-----+-------- 2010 | 4 | 1593 2010 | 4 | 1836 2010 | 2 | 1836 2010 | 4 | 2398 2011 | 1 | 1836 2012 | 3 | 1836 (6 rows) select min(ano),min(mes),codfun from t1 group by codfun; min | min | codfun ------+-----+-------- 2010 | 4 | 2398 2010 | 4 | 1593 2010 | 1 | 1836 (3 rows) __ []´s, André Volpato
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
