我的DB如下:
id  商品名称   入库时间
1   手表       2013-02-10
2   手表       2013-03-01
3   手表       2013-04-01
4   衣服       2013-01-01
5   衣服       2013-02-01
6   衣服       2013-03-01
7   眼镜       2013-01-01
8   眼镜       2013-02-01
9   眼镜       2013-04-05我想取得每件商品最后的入库时间请问该怎么做, 比如取得如下的结果:id  商品名称   入库时间
3   手表       2013-04-01
6   衣服       2013-03-01
9   眼镜       2013-04-05

解决方案 »

  1.   

    SELECT * FROM TT A WHERE NOT EXISTS(SELECT 1 FROM TT WHERE A.商品名称=商品名称 AND A.入库时间<入库时间)
      

  2.   

    select 商品名称,max(入库时间) from tt group by 商品名称;
      

  3.   

    多谢二位的回复,我还有个问题,我还有第二张表:
    id     商品价格
    1      100
    3      50
    4      200需要根据第一张表的查出来的 id 来查第二张表,所以我就这么做:
    select * from Table2 where id IN
     (select id,max(入库时间) from tt group by 商品名称), 但是我发现有错误,我应该怎么做呢?多谢!
      

  4.   

    参考下贴中的多种方法http://blog.csdn.net/acmain_chm/article/details/4126306
    [征集]分组取最大N条记录方法征集,及散分....
      

  5.   

    select * from Table2 where id IN(这里只能返回id)
    仔细分析一下吧!
      

  6.   

    select * from Table2 where id IN
     (select id from tt group by 商品名称)