MySQL案例-设置具有多个条件的列

标签 mysql case mysql-5.7

我有一个如下表,我需要根据 num1/num2 标准更新是或否列。

表1:

num1, num2, total,  y_n
   1,    2,    15, NULL
   2,    2,     8, NULL  
   3,    1,     9, NULL
   4,    1,    23, NULL

num2 是一个进程 ID 列,它将有成对的重复项。

重复的对指向 num1 列中的两个唯一数字。

总计是确定哪个进程使用最多资源所需的比较列。

示例输出:

num1, num2, total,  y_n
   1,    2,    15,    y
   2,    2,     8,    n  
   3,    1,     9,    n
   4,    1,    23,    y

如何创建更新表语句来根据总计标记 y_n 列。

结束状态请求: 其中 num1 项总数大于其他 num1 项总数,其中 num2 项相同。

最佳答案

使用自联接。

UPDATE yourTable AS t1
JOIN yourTable AS t2 ON t1.num2 = t2.num2 AND t1.total > t2.total
SET t1.y_n = 'y', t2.y_n = 'n'

DEMO

关于MySQL案例-设置具有多个条件的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296994/

相关文章:

mysql - 尝试创建 sql 表但显示错误

python - Python 代码中的 mySQL 错误

mysql Max有多个实例

php - 更新 mySQL 数据库但 POST 未返回值

android - 使用PHP将图像插入android中的mysql数据库

按年份的 SQL 查询结果

mysql - 如何在 MySQL 中正确使用 CASE..WHEN

mysql幽灵表

java - Java 中区分大小写的问题

mysql - 如何更新 MySQL 5.7.10 中的 JSON 数据类型列?