数据一致性
通过 Group by 去重
SELECT user_id , argMax(score, create_time) AS score, argMax(deleted, create_time) AS deleted, max(create_time) AS ctime FROM test_consistence GROUP BY user_id HAVING deleted = 0;
函数argMax:argMax(field1,field2):按照 field2 的最大值取 field1 的值
因此argMax(score, create_time)的含义就是,按照create_time的最大值取score的值,因为create_time代表当前数据的更新时间,因此总能取到最新的数据;
同理argMax(deleted, create_time)是取最新的deleted标识,来判断数据是否被删除
立志如山 静心求实
浙公网安备 33010602011771号