去重并返回最新的一条记录
select * from RRAnalysis.tblPhotoAnalysisResults as b where not exists (select 1 from RRAnalysis.tblPhotoAnalysisResults where photo_id = b.photo_id and b.update_date < update_date )
这条SQL语句实现查询结果的去重并且通过字段排序,其中photo_id是去重的字段,update_date是排序的字段。
另一种方法是通过group by和order by实现去重并排序的目的,不过在严格的数据库环境下(QA环境和生产环境),group by要求严格,分组字段和查询字段必须一致导致
查询结果并不符合要求。不过在此也贴上代码
SELECT * FROM (SELECT photo_recognition_results,photo_id FROM RRAnalysis.tblPhotoAnalysisResults ORDER BY update_date DESC) as a GROUP BY photo_id ORDER BY update_date DESC