SELECT id_projeto, id_revisao, data, codigo
FROM revisao
GROUP BY id_projeto;
Como um exemplo, eu queria que com o id projeto fosse mostrado o item com maior id revisao, no caso só mostraria o id projeto 8 que tivesse o maior id revisao que no caso seria o 19, o id projeto 1 só iria mostrar a linha que tivesse o id revisao 5, já que é a maior e assim em diante.
to dando um group by mas ele me dá o primeiro item de cada projeto e não o ultimo que seria o que eu iria precisar, se eu der um order by ele inverte todos os dados do resultado e não me dá o com maior id, já tentei dar um max(colum ) mas ai só me da o id e não o restante das colunas, algúem poderia ajudar?
Quando eu dou o max (id_revisão) realmente ele me dá o máximo mas as outras colunas não acompanham o código e a data mostram como se fosse o primeiro valor, ao invés de mostrar código e data do id_revisao 19 ele mostra do id_revisao 4
C
campelo.m1 like
Coloque o max na data tambem, se voce quer sempre o maior, tem que colocar o max nos campos e voce nao precisa do group by
J
Jhonatan_Moreira
mas eu quero os dados do maior id_revisao daquele id_projeto, desse modo não vai me dar os maiores dados de toda a tabela não?
J
Jhonatan_Moreira
Já tentei dar um select where id_revisao = max(id_revisao) group by id_projeto, pra pegar cada coluna que eu quero, mas ai ele não reconhece a função max no where
L
Lucas_Camara1 like
Tenta assim:
SELECT
id_projeto,
data,
codigo,
grd,
MAX(id_revisao)
FROM revisao
GROUP BY
id_projeto,
data,
codigo,
grd
Iria fazer a pergunta a pergunta em outro tópico mas vi que deveria ser em outro então coloquei como solucionado e fiz esse com a outra consulta que eu estava precisando.
Muito obrigado, a forma que você havia me passado estava ordenando com a maior data, ai só foi substituir pelo maior id_revisao e deu certo.