私はうまくいく次のクエリを持っています
SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
また、RecordIDフィールドとRankフィールドを(とりわけ)含む別のテーブル(table2)があります。上記のクエリの結果に基づいて、table2のRecordIDとRankを更新したいと思います。それは可能ですか?
はい、Postgresのupdate
に複数のテーブルを含めることができます。
update table2
set rank = t1.rank
from (SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
) t1
where table2.RecordId = t1.RecordId;
(mysql
で)私のために働いたのは:
update table2, (SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1) tempTable
set table2.Rank = tempTable.Rank
where table2.RecordId = tempTable.RecordId;