MySQL where 子句后的序号

标签 mysql sql sql-update

我有一张表,其中的列名为 '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/

相关文章:

mysql - SQL 中的数据建模

SQL 根据连接更新值

MYSQL移动平均计算优先级无限制

php - mysql从具有多个提交按钮的列表中插入

php - 使用 php 在 mysql 中将时间和日期添加到日期时间?

mysql - 在node.js中使用promise处理MySQL返回值

c# - 将 .NET 小数存储到 MySQL 中的最佳字段定义是什么?

sql - 无效的列名?

php - MySql,在重复更新时插入

postgresql - 连接两列并用 postgresql 中的结果替换其中一列