Estou utilizando o Hibernate, e tenho a seguinte query para listar todos os produtos que foram vendidos (com os somatórios de quantidade e valor):
SELECT SUM(i.item_qtd) as qtd_total, SUM(i.item_valor_total) as valor_total,
i.item_descricao, i.prod_referencia, cliente.cli_codigo,
cliente.cli_nome from item_venda as i
INNER JOIN venda as venda ON i.venda = venda.vend_codigo
INNER JOIN cliente as cliente ON pedido.cliente = cliente.cli_codigo
GROUP BY cliente.cli_codigo, i.prod_codigo
O resultado é agrupado da seguinte maneira:
Porém, gostaria de permitir a ordenação pela quantidade de itens vendidos para cada cliente.
Pensei em incluir na query:
Mas os produtos ficam ordenados assim(considera cada agrupamento do item):
E quanto vou fazer o agrupamento(grupo no ireport) no relatório fica “dividido” os clientes:
[quote]Cliente A
Produto B | qtd = 25 | valor = 2.500
Cliente B
Produto A | qtd = 15 | valor = 1.500
Cliente A
Produto A | qtd = 11 | valor = 1.100[/quote]
Tenho como fazer um ORDER BY considerando o somatório de todos os produtos vendidos por cliente. ex:
Cliente A comprou 36 unidades, Cliente B comprou 15 unidades.
Então primeiro pego todos os produtos do Cliente A:
[quote]
Cliente A | Produto B | qtd = 25 | valor = 2.500
Cliente A | Produto A | qtd = 11 | valor = 1.100[/quote]
E depois pego os produtos do Cliente B:
É possível fazer isso? Talvez com o subselect do Hibernate?