Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sắp xếp bảng, sử dụng vòng lặp trong MySQL với SELECT và 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

Nếu các cặp (parent_id, title) của bạn không phải là duy nhất, hãy sử dụng khóa chính của bạn làm điều kiện kết hợp - bạn sẽ cần thêm nó để chọn trong ngoặc đơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tìm thư mục dữ liệu mysql từ dòng lệnh trong windows

  2. Làm thế nào để có được sự khác biệt giữa các hàng liên tiếp trong MySQL?

  3. Hơn 1000 lệnh gọi API với 1 công việc cron?

  4. MySQL GROUP của Regex?

  5. Chuyển đổi cơ sở dữ liệu SQL Server sang cơ sở dữ liệu MYSQL