gpt4 book ai didi

mysql - 更新多个不同的列

转载 作者:可可西里 更新时间:2023-11-01 08:23:27 25 4
gpt4 key购买 nike

我试图一次更新多行,但只更新不同的行。

SQL 代码: http://sqlfiddle.com/#!9/9c6bdd/4

正如您从 fiddle 中的 select 语句中看到的那样 - 我想使用 where 和 distinct 条件更新行。

更新应该更改 IDOrder 值,对于 TOP 1 (LIMIT 1) 行,其中 GroupP 相同

例子:

(IDPobocka, IDCinnost, Termin, IDOrder)

输入:

(1, 10,'2019-05-02 11:00:00', NULL),
(1, 10,'2019-05-02 11:00:00', NULL),
(1, 10,'2019-05-02 11:00:00', NULL),
(1, 11,'2019-05-02 11:00:00', NULL),
(1, 11,'2019-05-02 11:00:00', NULL),
(1, 11,'2019-05-02 11:00:00', NULL),
(1, 11,'2019-05-02 11:00:00', NULL),

输出:

(1, 10,'2019-05-02 11:00:00', 1234),
(1, 10,'2019-05-02 11:00:00', NULL),
(1, 10,'2019-05-02 11:00:00', NULL)
(1, 11,'2019-05-02 11:00:00', 1234),
(1, 11,'2019-05-02 11:00:00', NULL),
(1, 11,'2019-05-02 11:00:00', NULL),
(1, 11,'2019-05-02 11:00:00', NULL),

最佳答案

修复您的数据模型,以便您可以区分行:

CREATE TABLE IF NOT EXISTS Test (
TestId int auto_increment primary key,
IDPobocka int,
IDCinnost int,
Termin datetime,
IDOrder int
);

然后你可以简单地做:

update t join
(select min(testid) as min_testid
from test t
group by IDPobocka, IDCinnost, Termin
) tt
on t.testid = tt.min_testid
set IDOrder = 1234;

关于mysql - 更新多个不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55951810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com