Ops, esqueci do DESC no ORDER BY SELECT FIRST 1 CODPRODUTO, MAX(VALORPRODUTO) AS MAXVAL FROM TBPRODUTOS GROUP BY CODPRODUTO ORDER BY MAXVAL DESC
Testei numa tabela aqui e funcionou. Em 12/01/08, Guionardo Furlan<[EMAIL PROTECTED]> escreveu: > Hmm, não testei. Experimente aí: > > SELECT FIRST 1 CODPRODUTO, -MAX(VALORPRODUTO) AS MAXVAL FROM > TBPRODUTOS GROUP BY CODPRODUTO > > Em 12/01/08, psdias2 (Yahoo) <[EMAIL PROTECTED]> escreveu: > > > > Pessoal: > > > > a) Utilizo o FireBird 1.5, Delphi 7 e DBExpress > > > > b) Tenho uma tabela com os campos CODPRODUTO e VALORPRODUTO > > (na verdade, a tabela do meu sistema possui mais campos, mas para > > a minha dúvida isto não importa). > > > > c) Quero descobrir qual o código de produto que possui maior valor. > > Tentei isto: > > > > SELECT CODPRODUTO, MAX(VALORPRODUTO) > > FROM > > TBPRODUTOS > > > > Mas no IBOConsole ou no meu sistema (através de um TSQLDataSet), > > ocorre erro, por eu ter incluído o campo CODPRODUTO no SELECT. > > (se eu usar um GROUP BY funciona, mas então são trazidos vários > > registros, o que não atende minha necessidade). > > > > Para contornar o problema, estou fazendo um SELECT sem o MAX, > > ordenado pelo VALORPRODUTO e depois posiciono no último registro. > > Porém, gostaria de confirmar com vocês se realmente o MAX não > > aceita trazer nenhum outro campo. Achei estranho, pois me parece ser > > um tipo de SELECT que é necessário em várias situações. O que vocês > > fazem em uma situação como essa ? > > > > Grato pela atenção de todos. > > > > Paulo > > > > -- > Timeo hominem unius libri > Cogito ergo sum - Carpe diem > > []s > Guionardo Furlan > http://guionardo.blogspot.com > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com