假设 有一个车间表 里面有 车间的id,大约有 100多个车间。还有一个 产品表(产品是网卡)。所有车间的产品都在这个表里。
表的内容是 车间id,产品网卡的MAC地址,和生产时间。怎么查询获得 所有车间 最新的一个产品的MAC地址最好能一条SQL 搞定。SQL 嵌套查询

解决方案 »

  1.   

    貌似下面的语句可以出来,可是感觉好不规矩。
    SELECT
        MAC地址, temp.车间id, 生产时间
    FROM 产品表
    JOIN (SELECT
            车间id, MAX(生产时间) AS t
        FROM
            产品表
        GROUP BY
            车间id) temp
    ON
        产品表.车间id = temp.车间id
        AND
        产品表.生产时间 = temp.t
    ORDER BY
        MAC地址 DESC;
      

  2.   

    select * from tt a where not exists(select 1 from tt where a.车间id=车间id
    abd a.生产时间<生产时间)
      

  3.   

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