代码之家  ›  专栏  ›  技术社区  ›  zzapper

mysql查询以查找订单最多的客户

  •  1
  • zzapper  · 技术社区  · 16 年前

    tbl_customer.id是客户的id

    待定订单客户ID

    一个查询,它将选择所有在tbl_订单中有4条或更多记录的客户

    3 回复  |  直到 16 年前
        1
  •  3
  •   Larry Lustig    16 年前
    SELECT tbl_order.customer_id, COUNT(*)
        FROM tbl_order 
        GROUP BY customer_id 
        HAVING COUNT(*) > 4
    
        2
  •  1
  •   a1ex07    16 年前
    select customer.id, count(*) as num_orders
    from customer
    inner join tbl_order ON (tbl_order.customer_id = customer.id)
    group by customer.id
    having num_orders >= 4;
    
        3
  •  0
  •   zzapper    16 年前

    综合以上答案(谢谢)

    我最后得到的

    SELECT c.first_name,c.SURNAME,c.ADDRESS1,c.CREATED ,COUNT(*) AS num_orders 
    FROM tbl_customer AS c
    INNER JOIN tbl_order_head AS o ON (o.customer_id = c.id) 
    GROUP BY c.id 
    HAVING num_orders >= 4 ORDER BY num_orders DESC;