我试过了-->
UPDATE tbl AS r
INNER JOIN tbl AS f ON r.columnA = f.columnA
SET r.columnB = f.columnB, r.columnC = f.columnC
WHERE f.columnA = r.columnA
tbl 作为表名
前
ID | A列 | B栏 | C栏 |
---|---|---|---|
1 | 1 | 数据1 | |
2 | 1 | 数据2 | |
3 | 2 | 数据3 | |
4 | 2 | 数据4 |
后
ID | A列 | B栏 | C栏 |
---|---|---|---|
2 | 1 | 数据2 | 数据1 |
4 | 2 | 数据4 | 数据3 |
GROUP BY
是MAX
您正在寻找的。但您需要重建表。首先,验证这是否为您提供了您想要的:
将其余步骤替换
tbl
为该结果:(这
SELECT
部分是相同的。)MAX
将优先选择一个值NULL
。