Deleting Duplicates in MySQL

后端 未结 4 1615
清歌不尽
清歌不尽 2020-12-04 03:17

I have a table like this

userid  visitorid   time
1       10          2009-12-23
1       18          2009-12-06
1       18          2009-12-14
1       18             


        
4条回答
  •  醉话见心
    2020-12-04 03:48

    Assuming your table is called Visitors:

    DELETE v1.* FROM Visitors v1
    LEFT JOIN (
        SELECT userid, visitorid, MAX(time) AS time
        FROM Visitors v2
        GROUP BY userid, visitorid
    ) v3 ON v1.userid=v3.userid AND v1.visitorid=v3.visitorid AND v1.time = v3.time
    WHERE v3.userid IS NULL;
    

提交回复
热议问题