Mysql 如何使用group by创建UPDATE语句?

Mysql 如何使用group by创建UPDATE语句?,mysql,group-by,sql-update,Mysql,Group By,Sql Update,我有以下更新查询不起作用,需要帮助才能使此更新起作用。感谢您的帮助 update polls set updated_by=2 where updated_by=1 group by poll_date, server_id, product_id; 不能,因为“分组依据”用于更改结果集的显示方式。更新没有输出,因此没有要分组的内容 退房 假设表主键中有唯一的id,此查询可以将重复项标记为2: 演示:UPDATE不允许使用GROUP BY,请在此处检查正确的语法:不清楚您使用GRO

我有以下更新查询不起作用,需要帮助才能使此更新起作用。感谢您的帮助

update polls 
   set updated_by=2 
where updated_by=1 
group by poll_date, server_id, product_id;
不能,因为“分组依据”用于更改结果集的显示方式。更新没有输出,因此没有要分组的内容


退房

假设表主键中有唯一的id,此查询可以将重复项标记为2:


演示:

UPDATE不允许使用GROUP BY,请在此处检查正确的语法:不清楚您使用GROUP BY试图实现什么,请解释。我试图从数据库中删除重复项,方法是将它们标记为updated_BY=2Hi,这几乎可以用,但我需要它将重复集中的最高或最大数量设置为2。它只是设置id最高的那个。我更新了演示以显示实际数据。谢谢你的帮助。
UPDATE polls p1
JOIN
( SELECT id
  FROM polls p1
  WHERE EXISTS (
    SELECT 1 FROM polls p2
    WHERE p1.poll_date = p2.poll_date
      AND p1.server_id = p2.server_id
      AND p1.product_id = p2.product_id
      AND p2.id < p1.id
  )
) p2
 ON p1.id = p2.id
SET p1.updated_by = 2
WHERE p1.updated_by = 1