引言
最近有一个统计的需求,一个案件在崔记中有多条记录,我们需要根据崔记表中的最新一条记录来判断此时案件的状态,并且需要按天统计,也就说今天的最新案件状态,不能覆盖掉昨天的案件的最新状态。
刚开始我用了mysql 中的一个求差集ide函数,sql如下:
SELECT COUNT(1) FROM robot_collection_record AS b WHERE
NOT EXISTS (
SELECT
1
FROM
robot_collection_record
WHERE
case_id = b.case_id
AND b.create_time <![CDATA[ < ]]>create_time
)
这条SQL语句实现查询结果的去重并且通过字段排序,其中case_id是去重的字段,create_time是排序的字段。
但是当我在查看结果的时候发现,只有统计今天的数量是正确的,但是如果加上一些条件,统计历史数据就会出现问题。
最后自己动手直接写了一个sql,来满足上面需求:<