我根據另一個列的值添加了一個新列。我想用 corrunt 值加上按元素分組的增量編號來更新那個新列。例如:
| 城市 | 新列 |
|---|---|
| 馬德里 | 馬德里 |
| 馬德里 | 馬德里-2 |
| 馬德里 | 馬德里-3 |
| 塞維利亞 | 塞維利亞 |
| 塞維利亞 | 塞維利亞-2 |
| 塞維利亞 | 塞維利亞-3 |
| 塞維利亞 | 塞維利亞-4 |
| 阿利坎特 | 阿利坎特 |
我嘗試了以下代碼,但總是出現語法錯誤。
UPDATE cities as c
SET c.new_colum = concat(t.city,'-', t.col)
FROM (SELECT ROW_NUMBER() OVER(partition by city) AS col, city_st FROM cities) t;
uj5u.com熱心網友回復:
假設您已將“newcolumn”添加到城市,并且城市中有一個名為“id”的主鍵,那么:
UPDATE cities c
JOIN
(SELECT id,
ROW_NUMBER() OVER(partition by city ) newcolumn
FROM cities) t on c.id=t.id
SET c.newcolumn = CONCAT(city,'-',t.newcolumn)
;
資料庫小提琴:
https://www.db-fiddle.com/f/dTnf3bNaXhEKKDzZzSED9K/0
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/380043.html
