gpt4 book ai didi

mysql - 根据id更新位置

转载 作者:行者123 更新时间:2023-11-29 03:30:52 25 4
gpt4 key购买 nike

这是我的 table 的样子

id|position | name  
1 | 4 | a
1 | 2 | b
1 | 3 | c
1 | 1 | d
23| 5 | a
23| 1 | b
24| 1 | a

这是我想要的:

id|position| name
1 | 1 | a
1 | 2 | b
1 | 3 | c
1 | 4 | d
23| 1 | a
23| 5 | b
24| 1 | a

目前我的 SQL 查询按升序显示 ID 和名称,如下所示:

ORDER BY id, name

(意味着它先排列 id,然后排列名称)

但是,我想RE-ASSIGN /OVER_WRITE/UPDATE 位置值。所以,对于一个id(有很多名字),我想按照名字的升序分配位置号。

我希望我的问题很清楚。

最佳答案

您可以使用 INSERT INTO ... SELECT 查询从查询​​结果创建一个名为 newtable 的新表:

INSERT INTO newtable (id, position, name)
SELECT t1.id AS id, t1.position AS position, t2.name AS name
FROM (
SELECT * FROM table ORDER BY id ASC, position ASC
) t1,
(
SELECT * FROM table ORDER BY id ASC, name ASC
) t2

关于mysql - 根据id更新位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30873910/

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