去重并返回最新的一条记录

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

 

posted @ 2018-07-04 16:37  贪梦好  阅读(194)  评论(0编辑  收藏  举报