加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 仅更新MySQL中重复条目的第一条记录

发布时间:2020-12-13 17:39:25 所属栏目:PHP教程 来源:网络整理
导读:问题解决了! 更新: 不太正确我需要的东西,让我们在带有字段ID,NAME,COVER的简单表上做例子 我有100个条目有100个名字,一些名称是重复的,但我只想从重复更新第一个. 试图更新数据库中所有重复项的所有第1行,真的很难做到,我知道如何制作它?下面是我试图重
问题解决了!

更新:

不太正确我需要的东西,让我们在带有字段ID,NAME,COVER的简单表上做例子

我有100个条目有100个名字,一些名称是重复的,但我只想从重复更新第一个.

试图更新数据库中所有重复项的所有第1行,真的很难做到,我知道如何制作它?下面是我试图重建的代码,但是这个代码用最后一个代替所有重复代码.

架构,我希望它如何在下面工作

ID NAME COVER
1  Max   1
2  Max   0
3  Andy  1
4  Andy  0
5  Andy  0

UPDATE table t
  JOIN (
    SELECT MinID,b.Name LatestName
    FROM table b
    JOIN (
      SELECT MIN(ID) MinID,MAX(ID) MaxID
      FROM table
      GROUP BY tag
      HAVING COUNT(*) > 1
    ) g ON b.ID = g.MaxID
  ) rs ON t.ID = rs.MinID
SET t.Name = LatestName;

解决方法

根本不清楚你想要什么.也许这个:

UPDATE table AS t
  JOIN 
    ( SELECT MIN(ID) MinID
      FROM table
      GROUP BY Name
      HAVING COUNT(*) > 1
    ) AS m 
    ON t.ID = m.MinID
SET t.Cover = 1 ;

对于这个(和将来的)问题,请记住,当你写一个问题时:

1. a description of your problem,as clear as possible    --- you have that
2. data you have now (a few rows of the tables)           --- ok,nice
3. the code you have tried                 --- yeah,but better use same names
                                           --- as the data and description above
4. the error you get (if you get an error)      --- doesn't apply here
5. the result you want (the rows after the update in your case)
                                       --- so we know what you mean in case we 
                                       --- haven't understood from all the rest

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读