大神们,sql的话下面这种情况能搞定么?

图片说明

我把这些数据存到一张表里面,存的时候id有重复的只存那条时间是最近的 如图所示

给你说下思路吧,
方法1:
SELECT *
FROM table out
WHERE 2 > (SELECT * FROM table in WHERE in.id = out.id )

找到相同id里面时间最大的那个人。相关子查询,如果相同id里面没有人时间比我更大,那就把这个人输出。

你可以理解。按照时间从大到小排序,只保留重复记录中时间最靠前的那个。

求TOP-N操作,自己百度

感觉还是有很多方法的,通过物理id,rowid也能取。
你这个相当于求每个部门工资最高的人。

你的id是怎么设置的? 代码插入之前都不校验的吗? 如果是代码的话就是验证一下再确定是插入还是修改就好。
如果用语句的话建议写存储过程或者是触发器。思路是在插入的之前或之后sql查一遍,再根据查的结果做相应处理(这都是数据库代码)!