我有一个查询,显示每个订单金额的客户金额。
select quantidade_pedidos, count(*)
from (select count(*) as quantidade_pedidos, c.id
from pedidos p inner join
clientes c
on p.cliente_id = c.id
where p.aprovado = 1
group by c.id
) x
group by quantidade_pedidos;
我想让已经放置2个订单的客户列在1中,已经放置3个订单的客户也列在2等中。
现在它只按订单数量分组:
1个订单 - 700个客户
2个订单 - 300个客户
3个订单 - 100个客户
这300个客户必须出现在1个订单中,因为他们下了1个订单和2个订单,这100个客户必须出现在2个订单组中,因为他们下了两个订单。
如何更正此查询? 对不起,如果它有点混乱。
由于
答案 0 :(得分:0)
如果我理解了你想要的是通过添加第二组来按照订单数分组。
select quantidade_pedidos, count(*) as order_count
from (select count(*) as quantidade_pedidos, c.id
from pedidos p inner join
clientes c
on p.cliente_id = c.id
where p.aprovado = 1
group by c.id
) x
group by quantidade_pedidos, order_count;