删除重复的用户元

hmae6n7t  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(274)

我有一个标准的wp\u usermeta表。。。一直在复制我的用户信息。我已经修复了它从继续这样做,但我现在需要清理操作。
对于未初始化的用户,它们被组织为以下列:

umeta_id, user_id, meta_key, meta_value

我的重复行将类似于:

2777, 1088#, billing_city, san diego
2778, 1088#, billing_city, san diego
2897, 1088#, first_name, Joe
2898, 1088#, first_name, Joe

我如何写一个查询来删除重复的,但让第一个知道“distinct”只影响单列值。。。我在绞尽脑汁。

lf5gs5x2

lf5gs5x21#

你可以这样做:

delete um
    from WP_Usermeta um join
         (select user_id, meta_key, meta_value, min(umeta_id) as min_umeta_id
          from WP_Usermeta
          group by user_id, meta_key, meta_value
         ) umd
         on umd.user_id = um.user_id and umd.meta_key = um.meta_key and
            umd.meta_value = um.meta_value and um.umeta_id > umd.min_umeta_id;

相关问题