sql >> Databáze >  >> RDS >> Mysql

Třídit tabulku pomocí smyčky v MySQL s SELECT a UPDATE

SELECT @p:=0, @parent:=0;
UPDATE page p1
JOIN
( SELECT title, 
  CASE WHEN @parent<>parent_id THEN @p:=0 ELSE @p:[email protected]+1 END as position,
  @parent:=parent_id as parent_id
  FROM page
  ORDER BY parent_id, title DESC ) p2
ON p1.title = p2.title AND p1.parent_id = p2.parent_id
SET p1.position = p2.position

Pokud vaše páry (parent_id,title) nejsou jedinečné, použijte svůj primární klíč jako podmínku spojení – budete ho muset přidat, abyste mohli vybrat v závorkách.



  1. Hibernujte UUID s PostgreSQL a SQL Serverem

  2. Limit nahrávání dokumentů

  3. Aktualizujte data aktivity ze služby, když je pozastavena

  4. SELECT INTO Proměnná v MySQL DECLARE způsobuje chybu syntaxe?