gpt4 book ai didi

mysql - mysql中重复记录的编号(二)

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

我有这个表,(sequence_No.)字段是null:

ID        Name      age     sequence_No.
-- ----- --- ------------
1 sara 20
2 sara 20
3 sara 20
4 john 24
5 john 24
6 Hama 23

我想更新成这样:

ID        Name      age     sequence_No.
-- ----- --- ------------
1 sara 20 1
2 sara 20 2
3 sara 20 3
4 john 24 1
5 john 24 2
6 Hama 23 1

mysql 中哪个查询可以做到这一点?

谢谢

最佳答案

您可以在 mysql 中使用相关子查询来模拟 ROW_NUMBER()。带有序列号的结果表将与表本身连接,并使用生成的数字更新 sequence_No 的值。

UPDATE  tableName a
INNER JOIN
(
SELECT A.ID,
(
SELECT COUNT(*)
FROM tableName c
WHERE c.Name = a.Name AND
c.ID <= a.ID) AS sequence_No
FROM TableName a
) b ON a.ID = b.ID
SET a.sequence_No = b.sequence_No

关于mysql - mysql中重复记录的编号(二),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18609291/

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