Dej*_*ell 35 mysql sql sorting
我有一个列的表:(这只是一个例子,我有50K记录)
Name, Number
Joe Null
Michael Null
Moses Null
Run Code Online (Sandbox Code Playgroud)
我用1-3中的序号来更新数字,所以它看起来像这样:
Name, Number
Joe 1
Michael 2
Moses 3
Run Code Online (Sandbox Code Playgroud)
如何在一个SQL命令的SQL for Mysql中执行此操作
tri*_*san 105
SET @rank:=0;
update T
set Number=@rank:=@rank+1;
Run Code Online (Sandbox Code Playgroud)
UPDATE
一种陈述的替代方式
UPDATE T
JOIN (SELECT @rank := 0) r
SET Number=@rank:=@rank+1;
Run Code Online (Sandbox Code Playgroud)
您可以尝试将其设置Number
为 AUTO_INCRMENT 以便生成数字:
ALTER TABLE your_table MODIFY Number INT AUTO_INCREMENT
Run Code Online (Sandbox Code Playgroud)
除此之外,您可能需要:a) 存储例程 b) 应用程序代码