最近有一个需求是要我在用户所有发过的短视频中找到每一个用户最新发送的一条短视频网上找了一下感觉挺好用的所以就记录下来
SELECT a.createTime,a.userId FROM short_video_entity a
LEFT JOIN short_video_entity b ON a.userId = b.userId
AND a.createTime < b.createTime
GROUP BY a.createTime, a.userId
HAVING count(b.id) < 1
这条sql 确实可以达到要求 但是我不清楚它为什么要这样写 a.createTime < b.createTime 在我 看来取最新时间应该是 a.createTime >b.createTime 希望看到这条随笔的大神们留下言解答下这个问题
去掉表中重复记录并且只保留id最小的一条记录(这个是多个字段重复)
DELETE n1 FROM msg_remind_my n1, msg_remind_my n2 WHERE n1.id > n2.id
AND n1.type = n2.type AND n1.contentId = n2.contentId AND n1.remindType = n2.remindType AND n1.remindUserId = n2.remindUserId