すでに多くの行がある単純なテーブルがあります。
id grade ...
1 1 ...
2 2 ...
3 2 ...
4 1 ...
5 1 ...
ここで、そのグレード"relative_order"
の順序である列を追加したいと思います。したがって、テーブルは次のようになります。
id grade ... relative_order 1 1 ... 1 2 2 ... 1 3 2 ... 2 4 1 ... 2 5 1 ... 3
列を追加した後、最初にすべての relative_order が 0 になります。update
構文を使用して relative_order 列を埋めるにはどうすればよいですか?
内部結合を使用しようとしましたが、失敗しました:
UPDATE table AS i
INNER JOIN(
SELECT max(relative_order) as mOrder,grade
FROM table
GROUP BY grade
) AS j
ON i.grade = j.grade
SET i.relative_order = j.mOrder + 1