這是Postgres Update records that satisfies a condition with incrementing number的這個問題的重複,但我需要一種可以與SQLite3一起工作的方式。如何使用SQLite3中的增加數字更新滿足條件的記錄?
從原來的問題剪斷:
SNIP
我有這樣的Postgres的一個表:
Id Name local_site_id local_id
1 A 2
2 B 2
3 C 1
4 D 2
5 E 1
如何更新表到這個使用SQL查詢:
Id Name local_site_id local_id
1 A 2 1
2 B 2 2
3 C 1
4 D 2 3
5 E 1
現在,所有記錄的local_id字段爲空。我想用一個從1開始的遞增數字來更新local_id值,只對有local_site_id=2
的行有可能使用SQL嗎?
END-SNIP
我試圖從answer有這個命令,但它並不適用於SQLite3的
update T set local_id=s.rn
from (select id,row_number() over(order by id) as rn from T where local_site_id=2) s
where T.id=s.id;
我怎樣才能在sqlite3的實現這方面的工作?
真棒..我通過創建一張新桌子發現了一個凌亂的方式..但我會接受你的正確答案.. :) – Vigneshwaran