請幫我在MySQL中排序我的表。我只需要製作一次,而不是在腳本或其他地方動態使用。排序表,在MySQL中使用循環SELECT和UPDATE
這裏是我的表「頁面」:
| ... | title | ... | parent_id | ... | position | ... |
我需要用規則來更新表:選擇具有相同parent_id
所有行,由title
DESC對它們進行排序,並設置第一行position
= 0,第二= 1等。並循環所有parent_id
。
我做了一個查詢來顯示我需要什麼,但沒有更新,只有一個parent_id
。但是因爲有幾千個這個查詢需要一個循環。選擇後,position
必須更新爲與當前行的@number相同的值。
SET @number = -1;
SELECT @number:[email protected]+1 AS number, p.* FROM `page` AS p WHERE parent_id=1
ORDER BY title DESC;
感謝您的幫助!
完美解決!非常感謝! – Nick 2012-02-05 13:38:17
太棒了!節省了我的時間,謝謝。 – umpirsky 2012-10-05 12:25:55
piotrm,你可以請幫助升級此代碼[這裏](http://stackoverflow.com/questions/23031633/sort-table-using-loop-in-mysql-with-select-and-update-with-natural-訂購)?謝謝! – Nick 2014-04-17 13:56:20