我有一张表,其中的列名为 'Estudio'
,另一个表的列名为 numDisco
,另一个表的列名为 numID
。我想首先根据 'Estudio'
进行过滤,然后按 numDisco
排序,之后,在它删除的所有结果中设置从 开始的连续顺序>1
。我有订单和过滤器的查询
SELECT * FROM `archivo` WHERE `estudio` = "study" ORDER BY `archivo`.`numDisco` ASC
我怀念的是仅向这些行添加顺序部分。
最佳答案
使用您递增的用户变量。
UPDATE archivo
CROSS JOIN (SELECT @number := 0) AS x
SET numId = @number := @number + 1
WHERE estudio = "study"
ORDER BY numDisco ASC
关于MySQL where 子句后的序号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31686438/