Amigos, estou fazendo uma consulta em gráfico pizza, e me surgiu uma dúvida…
Meu gráfico mostrara os clientes que mais compram… porem coloquei limit 5… como faria para vamos supor no ultimo pedaço da pizza, fica como “Outros”, e juntando todos os outros clientes que faltaram?
crie um view no banco de dados com select union all
select sum(total_vendas), id_clientes from faturamento group by id_clientes order by sum(total_vendas) desc limit 5
union all
select sum(total_vendas) , 0 from faturamento where not in (select id_clientes order_by sum(total_vendas) desc limit 5)
Algo “parecido” com isso.
Se não funcionar, deve criar um tabela temporária e montar a grid em cima dessa tabela e no evento onscriptinit montar os selects para alimentar essa tabela temporária.
select sum(total_vendas), cliente
from pedidos group by cliente
order by sum(total_vendas)
desc limit 5
union all
select sum(total_vendas) , 0
from pedidos
where not in
(select cliente order_by sum(total_vendas) desc limit 5)
mais da o seguinte erro: Incorrect usage of UNION and ORDER BY
O ORDER BY só deve ser colocado após o último SELECT do UNION. Uma outra coisa importante é sempre colocar alias em cada campo. Por exemplo: sum(total_vendas) AS total_vendas.
E pra saber se o SELECT está correto, use um gerenciador de banco de dados pra executar o SELECT, assim você vai ter certeza que está funcionando.