获得重复项中最后的插入的记录的两种方式:

表`af_main`,sn中有可能重复,·datetime·是每次插入的时间

1)使用NOTEXISTS

SELECT*FROM`af_main`a
WHERElot_id=4andNOTEXISTS
(SELECT1FROM`af_main`WHEREa.`sn`=`sn`ANDa.`datetime`<`datetime`)

2)先查询出最后插入的记录,再做联合查询

SELECTa.*FROM`af_main`a
innerjoin
(SELECTsn,max(`datetime`)as`datetime`FROM`af_main`wherelot_id=4groupbysn)bona.`sn`=b.`sn`anda.`datetime`=b.`datetime`
orderbyaf_iddesc

获得重复项中刚开始插入的记录:

表`af_main`,sn中有可能重复,·datetime·是每次插入的时间

SELECT*FROM`af_main`a
WHERElot_id=4andNOTEXISTS
(SELECT1FROM`af_main`WHEREa.`sn`=`sn`ANDa.`datetime`>`datetime`)