gpt4 book ai didi

mysql根据顺序更新一个带有int的列

转载 作者:可可西里 更新时间:2023-11-01 06:30:58 26 4
gpt4 key购买 nike

假设我有这些列

 uniqueID|Money|Quantity|MoneyOrder|QuantityOrder
1|23|12||
2|11|9||
3|99|100||

我想做的是根据 ORDER BY 的值更新 MoneyOrderQuantityOrder

所以结果是:

uniqueID|Money|Quantity|MoneyOrder|QuantityOrder
1|23|12|2|1
2|11|90|1|2
3|99|100|3|3

我希望更新像标识列一样运行,而不是实际将其变成标识列。我知道我可以按“x”排序,结果就是订单,但我想生成一个报告,您可以在其中逐行查看项目。

这样的事情是否可能 update mytable set Moneyorder = 'imnotsure' order by MoneyOrder asc

最佳答案

SET @rownumber = 0;    
update mytable set Moneyorder = (@rownumber:=@rownumber+1)
order by MoneyOrder asc

或者您可以尝试在单个查询中完成

update mytable target
join
(
select id, (@rownumber := @rownumber + 1) as rownum
from mytable
cross join (select @rownumber := 0) r
order by MoneyOrder asc
) source on target.id = source.id
set Moneyorder = rownum

关于mysql根据顺序更新一个带有int的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485769/

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