如何使用行数更新 mysql 查询
How can I update a mysql query with the row count
我想对显示列重新排序,以便顺序没有间隙。像下面这样的可能吗
UPDATE foo
INNER JOIN bar ON foo.barid = bar.id
SET foo.display = !rowcount!
WHERE bar.baz = 1
ORDER BY foo.display;
你想要这个吗?
UPDATE foo
INNER JOIN (
SELECT t2.id, @rowNo := @rowNo + 1 AS rowcount
FROM foo t1
INNER JOIN bar t2 ON t1.barid = t2.id
INNER JOIN (SELECT @rowNo := 0) t
WHERE t2.baz = 1
ORDER BY t1.display) bar ON foo.barid = bar.id
SET foo.display = bar.rowcount
我想对显示列重新排序,以便顺序没有间隙。像下面这样的可能吗
UPDATE foo
INNER JOIN bar ON foo.barid = bar.id
SET foo.display = !rowcount!
WHERE bar.baz = 1
ORDER BY foo.display;
你想要这个吗?
UPDATE foo
INNER JOIN (
SELECT t2.id, @rowNo := @rowNo + 1 AS rowcount
FROM foo t1
INNER JOIN bar t2 ON t1.barid = t2.id
INNER JOIN (SELECT @rowNo := 0) t
WHERE t2.baz = 1
ORDER BY t1.display) bar ON foo.barid = bar.id
SET foo.display = bar.rowcount