mysql 订单表订单编号  产品ID 数量 用户名
1         a产品  1    a用户
2         a产品   1    b用户
3         a产品   2   a用户
4         b产品  2    a用户
我想通过一个sql 统计出 每个产品的订单数量 和购买人次最终结果
产品ID  订单数量  购买人次
a产品       3      2
b产品       1      1怎么写??????????????????????

解决方案 »

  1.   

    select 产品ID,sum(数量) as 订单数量 ,count(*) as 购买人次
    from 订单表
    group by 产品ID
      

  2.   

    select 产品ID,sum(数量) as 订单数量
    , count(b.产品ID)as 购买人次 
     from tt a 
    left join
    (select 产品ID,用户名 from tt group by 产品ID,用户名) b
    on a.产品ID=b.产品ID
    group by a.产品ID
      

  3.   

    要对产品ID、用户名进入处理,再连接select 产品ID,sum(数量) as 订单数量 
    , count(b.产品ID)as 购买人次 
    from tt a 
    left join 
    (select distinct 产品ID,用户名 from tt ) b 
    on a.产品ID=b.产品ID 
    group by a.产品ID
      

  4.   

    select 产品ID,count(*) as 订单数量 ,count(distinct 用户名) as 购买人次
    from 订单表
    group by 产品ID