有表order,这个表是记录销售的。
第1条记录销售的A产品,
第2条记录销售的B产品,
第3条记录销售的A产品,
第4条记录销售的A产品,
第5条记录销售的C产品,
第6条记录销售的B产品,
第7条记录销售的A产品,
第8条记录销售的D产品,
第9条记录销售的E产品,就是我怎么查询销售前3位的产品呢?请大家指点下。谢谢

解决方案 »

  1.   

    贴建表及插入记录的SQL,及要求结果出来看看
      

  2.   

    select 产品,count(*) as num
    from tb
    grou by 产品
    order by num desc
    limit 3
      

  3.   

    记录如果含有数量的字段如qty,产品字段如product
    select product,sum(qty) as a from table group by product order by a表名,字段都不愿意提供,还要模拟,这问题提的,哎!
      

  4.   

    参考下贴中的多种方法http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
    [征集]分组取最大N条记录方法征集,及散分....
      

  5.   

    select * from (select 产品,count(*) as cnt from 有表order group by 产品) t order by cnt desc limit 3
      

  6.   

    是zencart上的表,字段太多,所以没有提供。