在此查询中显示常规客户端

时间:2016-06-23 16:48:37

标签: mysql group-by subquery

我有一个查询,显示每个订单金额的客户金额。

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个订单组中,因为他们下了两个订单。

如何更正此查询? 对不起,如果它有点混乱。

由于

1 个答案:

答案 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;