MySQLでテーブルをソートするのを手伝ってください。スクリプトや他の場所で動的に使用するのではなく、一度だけ作成する必要があります。SELECTとUPDATEでMySQLのループを使用してテーブルをソート
は、ここに私のテーブル「ページ」です:
私はルールを使用してテーブルを更新する必要が| ... | title | ... | parent_id | ... | position | ... |
:同じparent_id
を持つすべての行を選択し、title
DESCによってそれらを並べ替えると、最初の行を設定しposition
= 0、第二= 1など。そしてこれはすべてparent_id
のためにループしてください。
私は必要なものを表示するためにクエリを作成しましたが、更新はなく、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
ブリリアント!ありがとうございました。 – umpirsky
piotrm、このコードのアップグレードをお手伝いしてください[こちら](http://stackoverflow.com/questions/23031633/sort-table-using-loop-in-mysql-with-select-and-update-with-natural-注文)?ありがとうございました! – Nick