[firebase-br] Como usar FIRST + DISTINCT
André Geraldo dos Santos
andresantos em i2.com.br
Ter Ago 14 16:07:42 -03 2007
Cleidson,
Se vc usar o firebird 2 então o exemplo abaixo serve de exemplo:
SELECT
DISTINCT
P.CODPRODUTO,
P.DESCRICAO
FROM
PRODUTO AS P
GROUP BY
P.CODPRODUTO,
P.DESCRICAO,
P.CODCATEGORIA
ORDER BY
P.CODPRODUTO ROWS 10
Fiz o teste aqui e funciona corretamente, o outro post realmente
estava errado desculpe-me.
Atenciosamente,
André Geraldo dos Santos
Cleidson Developer escreveu:
> Andre,
>
> A instrução está errada, quando tento executar o comando:
>
> select first 100 p.cliente_id, p.total_pecas, p.data_pedido from pedidos P
> group by p.cliente_id
>
> gera o seguinte erro:
>
> Invalid expression in the select list (not contained in either an
> aggregate function or the GROUP BY clause).
>
>
> E se eu uso SELECT DISTINCT FIRST 10... da erro tambem, como se o 10
> fosse uma instrucao desconhecida.
>
>
>
>
> André Geraldo dos Santos escreveu:
>
>> Cleidson,
>>
>> Use Group by ou Distinct
>>
>> Ficaria assim:
>>
>> select Distinct first 100 cliente, pedido_id, totalitens from pedidos order by
>> totalitens desc
>>
>> ou
>>
>> select first 100 cliente, pedido_id, totalitens from pedidos group by cliente, pedido_id, totalitens
>> order by
>> totalitens desc
>>
>>
>> Cleidson Developer escreveu:
>>
>>> Ola pessoal,
>>>
>>> Preciso fazer uma consulta que me retorne as 100 maiores vendas em
>>> numero de itens, mas tem que ser distintas, ou seja, de clientes diferentes.
>>>
>>> A tabela de pedidos tem os campos:
>>>
>>> CLIENTE, PEDIDO_ID, TOTALITENS
>>>
>>> Fiz uma consulta mais ou menos assim:
>>>
>>> select first 100 cliente, pedido_id, totalitens from pedidos order by
>>> totalitens desc
>>>
>>> Funciona, mas o mesmo cliente aparece varias vezes nessa consulta em
>>> pedidos diferentes.
>>>
>>> Como eu faço para o cliente nao se repita ?
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>
>>>
>>>
>> Atenciosamente,
>> André Geraldo dos Santos
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
Mais detalhes sobre a lista de discussão lista