gpt4 book ai didi

php - 更新表中所有用户记录并填充low_id 1到N

转载 作者:行者123 更新时间:2023-11-29 12:45:27 25 4
gpt4 key购买 nike

我有一个带有字段的表

表A)

当我运行sql命令时

SELECT  id,
user,
`low_id`
FROM ( SELECT @r:= IF(@u = user, @r + 1,1) AS `low_id`,
id,
user,
@u:= user
FROM usertest,
(SELECT @i:= 1) AS r,
(SELECT @u:= 0) AS u
ORDER BY user
) AS usertest

表 B)我通过以下方式进行选择

Id   user    low_ID--------------------1    100      12    200      13    100      Null4    300      15    300      Null6    100      Null-------------------

我希望上面的代码为每个用户记录永久更新序列 1-n 中的 low_id然后计数器为下一个用户重置为 1,并为每个用户将低 id 值增加 1该用户的记录。

我想更新表 A),如表 c)

表 C)

Id   user    low_ID--------------------1    100      12    200      13    100      24    300      15    300      26    100      3-------------------

最佳答案

简单..按用户对数据进行排序并计算次数..

UPDATE users u,
( SELECT id, if(@a = user, @b:=@b+1, @b:=1) as new_low, @a:= user
FROM users
CROSS JOIN(SELECT @a:=0, @b:=1)t
ORDER BY user, id
) t1
SET u.low_id = t1.new_low
WHERE u.id = t1.id;

DEMO

关于php - 更新表中所有用户记录并填充low_id 1到N,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511636/

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