Como Ordenar o resultado de uma função agregada?
Quero fazer uma consulta que junte as referencias iguais, conte qts referencias estão agregadas e a quantidade de pcs(quant_Grade) total de cada registro exibido ordenado pelo n° de referencias agredadas maior primeiro e sucessivamente.
O codigo que tentei usar foi o a seguir:
[b:d1eb09b176]Select PI.Referencia, count(PI.Referencia) as Ordem, Sum(Quant_Grade)
as QTTot from Pedido P, PedidoItens PI Where PI.Pedido = P.Pedido
Group by PI.Referencia order by Ordem, QTTot, PI.Referencia[/b:d1eb09b176]
Não funcionou, por causa que ´Ordem´ não é uma coluna de nenhuma tabela e não considera ´as Ordem´ para colocar para ordenar.
Então ai vai a pergunta. Como posso fazer isso?
Agradeço desde já!
Marbravo
marbravo@cdlvirtual.com.br
O codigo que tentei usar foi o a seguir:
[b:d1eb09b176]Select PI.Referencia, count(PI.Referencia) as Ordem, Sum(Quant_Grade)
as QTTot from Pedido P, PedidoItens PI Where PI.Pedido = P.Pedido
Group by PI.Referencia order by Ordem, QTTot, PI.Referencia[/b:d1eb09b176]
Não funcionou, por causa que ´Ordem´ não é uma coluna de nenhuma tabela e não considera ´as Ordem´ para colocar para ordenar.
Então ai vai a pergunta. Como posso fazer isso?
Agradeço desde já!
Marbravo
marbravo@cdlvirtual.com.br
Marbravo
Curtidas 0
Respostas
Afarias
07/09/2003
utilize o ´indice´ da coluna no ORDER BY ::
select PI.referencia, count(PI.referencia) as Ordem, sum(quant_grade)
as QTTot
from pedido P, pedidoitens PI
where PI.pedido = P.pedido
group by PI.referencia
order by 2, 3, 1
T+
select PI.referencia, count(PI.referencia) as Ordem, sum(quant_grade)
as QTTot
from pedido P, pedidoitens PI
where PI.pedido = P.pedido
group by PI.referencia
order by 2, 3, 1
T+
GOSTEI 0
Marbravo
07/09/2003
Como colocar em ordem descrecente?
select PI.referencia, count(PI.referencia) as Ordem, sum(quant_grade)
as QTTot
from pedido P, pedidoitens PI
where PI.pedido = P.pedido
group by PI.referencia
order by 2, 3, 1
Usando esse codigo acima ele ordena do menor para o maior eu presciso que os maiores primeiro depois os menores.
Obrigado
Marbravo
Obrigado especial para afarias que está sempre me ajudando.
Valeu
select PI.referencia, count(PI.referencia) as Ordem, sum(quant_grade)
as QTTot
from pedido P, pedidoitens PI
where PI.pedido = P.pedido
group by PI.referencia
order by 2, 3, 1
Usando esse codigo acima ele ordena do menor para o maior eu presciso que os maiores primeiro depois os menores.
Obrigado
Marbravo
Obrigado especial para afarias que está sempre me ajudando.
Valeu
GOSTEI 0
Afarias
07/09/2003
|Como colocar em ordem descrecente?
use o DESC apos os campos q deseja ordenar decrescente, ex ::
ORDER BY 2 DESC, 3, 1
T+
use o DESC apos os campos q deseja ordenar decrescente, ex ::
ORDER BY 2 DESC, 3, 1
T+
GOSTEI 0