Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Urutkan tabel, menggunakan loop di MySQL dengan SELECT dan 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

Jika pasangan (parent_id,title) Anda tidak unik, gunakan kunci utama Anda sebagai syarat bergabung - Anda harus menambahkannya untuk memilih dalam tanda kurung.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phpMyAdmin - Kesalahan> Parameter format salah?

  2. pdo menyiapkan pernyataan dengan wildcard

  3. Bagaimana cara menghasilkan tampilan pohon dari kumpulan hasil ini berdasarkan Algoritma Traversal Pohon?

  4. Mengapa nosql dengan cassandra bukan mysql?

  5. Bagaimana cara mengekstrak hanya kolom yang memiliki nilai bukan nol di mysql dan php?