gpt4 book ai didi

mysql - 选择具有相同 id 的行并重写按 id 分组的 id

转载 作者:行者123 更新时间:2023-11-29 09:57:43 25 4
gpt4 key购买 nike

我有一个这样的表:

+------+------+
| AID | NAME |
+------+------+
| 1 | A |
| 2 | A |
| 3 | A |
| 4 | B |
| 5 | B |
+------+------+

通过“选择”,输出应该类似于:

+------+------+------+
| AID | NAME | NEWID|
+------+------+------+
| 1 | A | 1 |
| 2 | A | 2 |
| 3 | A | 3 |
| 4 | B | 1 |
| 5 | B | 2 |
+------+------+------+

我必须仅使用 SQL、存储过程或函数。

我不知道如何在不使用存储过程的情况下编写查询。

谁能帮助我?

尼古拉

最佳答案

您需要row_number():

select t.*,
row_number() over (partition by name order by id) as newid
from table t;

编辑:您还可以使用相关子查询:

select t.*,
(select count(*)
from table t1
where t1.name = t.name and t1.id <= t.id
) as newid
from table t;

关于mysql - 选择具有相同 id 的行并重写按 id 分组的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53559769/

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