mysql - 如果 MySQL 中的计数大于 5,则更新

标签 mysql sql sql-update

我正在尝试创建一个查询来更新 table_1,其中列 id_owner 具有超过 5 行 且具有相同的 owner id,它需要在这些用户拥有的所有行上将列“active”设置为 3

我尝试了几种不同的方法,但每一种都没有结果。有什么想法吗?

最佳答案

将此UPDATE 查询与JOIN 一起使用以实现此目的:

UPDATE table1 t1 
  JOIN
  (
    SELECT id_owner
      FROM table1
     GROUP BY id_owner
    HAVING COUNT(*) > 5
  ) t2
  ON t1.id_owner = t2.id_owner
  SET t1.active = 3;

参见this sample SQLFiddle

关于mysql - 如果 MySQL 中的计数大于 5,则更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18929767/

相关文章:

mysql - SQL 连接 : Are selects between more than 2 tables still joins?

c# - 使用 TransactionScope RequiresNew 的缺点

mysql - 更新整个表而不迭代 ID

sql-update - 在一个查询中基于多个条件更新多个字段

mysql - 在 Discord.js 和 MySQL 中注册命令

php - 修改 MYSQL 查询以仅选择特定行,用作一种索引

mysql - mysql中的子查询定界符

mysql - 使用 WHERE NOT EXISTS 进行 SQL 查询时出错

mysql - 如何总结最佳结果?

php - 当我的 php 代码没有错误时,为什么我的表是空的?