现有语句
SELECT * 
FROM `personal` 
LEFT OUTER JOIN `expand` ON `Pers_Regis` = `Exp_Num` 
LEFT OUTER JOIN `config` ON `Exp_Level` = `Con_CID` 
LEFT OUTER JOIN `inspect` ON `Insp_Num` = `Exp_Num` 
WHERE `Exp_MID` =6
AND `Exp_State` !=0
这是目前的语句但是查询出来的inspect表中Insp_Num并不唯一,
但Insp_ID是唯一的,如何只取inspect表中Insp_ID最大的一个?

解决方案 »

  1.   

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

  2.   

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

  3.   

    Insp_Num并不唯一,
    但Insp_ID是唯一的,如何只取inspect表中Insp_ID最大的一个?SELECT *  
    FROM `personal`  
    LEFT OUTER JOIN `expand` ON `Pers_Regis` = `Exp_Num`  
    LEFT OUTER JOIN `config` ON `Exp_Level` = `Con_CID`  
    LEFT OUTER JOIN `inspect` A ON `Insp_Num` = `Exp_Num`  
    WHERE `Exp_MID` =6
    AND `Exp_State` !=0
    and not exists (select 1 from inspect where Insp_Num=A.Insp_Num and A.insp_id<insp_id)