thyagomaia Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 Bom dia/Boa Tarde/Boa Noite a todos!Estou com uma dúvida que está me dando uma grande dor de cabeça! ahahah!Tenho a seguinte tabela:ID | DATA |QUANT| VALOR |NOME_MATERIAL| TIPO DE MATERIAL42 '2006-12-04' 100 100000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'43 '2006-12-04' 110 110000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'44 '2006-12-04' 109 109000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'45 '2006-12-04' 100 10000 'MOUSE' 'MATERIAL DE INFORMATICA'46 '2006-12-04' 200 20000 'MOUSE' 'MATERIAL DE INFORMATICA'47 '2006-12-05' 1 100 'TECLADO' 'MATERIAL DE INFORMATICA'48 '2006-12-05' 150 150000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'Eu gostaria de criar uma query que listasse apenas aslinhas que possuem os maiores ID's por grupo (NOME_MATERIAL). Ex.:46 '2006-12-04' 200 20000 'MOUSE' 'MATERIAL DE INFORMATICA'47 '2006-12-05' 1 100 'TECLADO' 'MATERIAL DE INFORMATICA'48 '2006-12-05' 150 150000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'Desconfio que eu devo utilizar o GROUP BY...Já tentei várias tipos de queryes, subqueryes... e nada!Se possível, alguém poderia me ajudar com alguma idéia?!Agradeço a atenção antecipadamente! Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 vê se assim funciona: SELECT MAX(id), data, quant, valor, nome_material FROM tabela GROUP BY nome_material; Link para o comentário Compartilhar em outros sites More sharing options...
0 thyagomaia Postado Dezembro 5, 2006 Autor Denunciar Share Postado Dezembro 5, 2006 vê se assim funciona: SELECT MAX(id), data, quant, valor, nome_material FROM tabela GROUP BY nome_material; Diz, cara!Eu já tinha tentado uma query parecida com a que você me indicou... realmente ele capta os maiores ID's da tabela, mas os outros campos listados pertencem ao primeiro registro do grupo, e não ao maior ID!!! :blink: É justamente isso que tá me dando uma dor de cabeça danada! ahahahah :lol: Mas valeu aí pela ajuda!Alguma outra sugestão, galera?! Link para o comentário Compartilhar em outros sites More sharing options...
0 thyagomaia Postado Dezembro 6, 2006 Autor Denunciar Share Postado Dezembro 6, 2006 Olá, pessoas! :ph34r: Descobri como fazer esta query!! :ph34r:A dica está num artigo publicado no site Linha de código!!Valeu aí pela atenção de todos! :D Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 6, 2006 Denunciar Share Postado Dezembro 6, 2006 sei que voce já resolveu, mas talvez algum dia alguém precise disso: SELECT * FROM tabela WHERE id IN (SELECT MAX(id) FROM tabela GROUP BY campo); Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
thyagomaia
Bom dia/Boa Tarde/Boa Noite a todos!
Estou com uma dúvida que está me dando uma grande dor de cabeça! ahahah!
Tenho a seguinte tabela:
ID | DATA |QUANT| VALOR |NOME_MATERIAL| TIPO DE MATERIAL
42 '2006-12-04' 100 100000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'
43 '2006-12-04' 110 110000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'
44 '2006-12-04' 109 109000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'
45 '2006-12-04' 100 10000 'MOUSE' 'MATERIAL DE INFORMATICA'
46 '2006-12-04' 200 20000 'MOUSE' 'MATERIAL DE INFORMATICA'
47 '2006-12-05' 1 100 'TECLADO' 'MATERIAL DE INFORMATICA'
48 '2006-12-05' 150 150000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'
Eu gostaria de criar uma query que listasse apenas as
linhas que possuem os maiores ID's por grupo (NOME_MATERIAL). Ex.:
46 '2006-12-04' 200 20000 'MOUSE' 'MATERIAL DE INFORMATICA'
47 '2006-12-05' 1 100 'TECLADO' 'MATERIAL DE INFORMATICA'
48 '2006-12-05' 150 150000 'COMPUTADOR' 'MATERIAL DE INFORMATICA'
Desconfio que eu devo utilizar o GROUP BY...
Já tentei várias tipos de queryes, subqueryes... e nada!
Se possível, alguém poderia me ajudar com alguma idéia?!
Agradeço a atenção antecipadamente!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados