我的一个商品表包括:product_id, product_name, type_id, price
其中我想获得每个type下最便宜的前5件product的名称怎么写SQL呢?
谢谢~~

解决方案 »

  1.   

    SELECT product_name
    FROM TB T
    WHERE (SELECT COUNT(1) FROM TB WHERE type_id=T.type_id AND price<=T.price)<=5
      

  2.   

    谢谢。。可是试了试不行啊。。
    可能我没说清楚,是每个type返回前5件商品名称
      

  3.   

    try
    SELECT distinct product_name
    FROM TB T
    WHERE (SELECT COUNT(distinct product_name) FROM TB WHERE type_id=T.type_id AND price<=T.price)<=5
      

  4.   

    http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
    分组取最大N条记录方法征集