我有以下查询可以正常使用
SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
另外,我有另一个表(table2),其中包含(其中包括)RecordID和Rank字段。我想根据上面的查询结果更新table2中的RecordID和Rank。这可能吗?
答案 0 :(得分:16)
是的,你可以在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;
答案 1 :(得分:0)
在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;