2016-10-10 127 views
1

我最近更新了SQL表以將訂單號包含到行中。現在我必須編寫SQL語句來更新具有正確順序值的行。它應該看起來像這樣:更新SQL表以創建訂單號

Id, UserName, Store, OrderNumber 
1, User1, store1, 1 
2, User2, store1, 2 
3, User3, store1, 3 
4, User4, store2, 1 
5, User5, store2, 2 

目前列OrderNumber只包含零。

我應該怎麼做?

+0

做到這一點?請在你的問題上給予更多的清晰。什麼應該是你的更新條件。 –

回答

1

您可以ROW_NUMBER

With CTE as 
(
select row_number() Over(partition by Store order by Id) as O_number,* 
From yourtable 
) 
Update CTE 
SET OrderNumber = O_number 
要更新從表ORDERNUMBER
+1

謝謝。有一個小問題,但我解決了它。它應該是: 選擇row_number()over(按Store存儲順序分區)作爲O_number,* – Vax

+0

@ user6314 - 是的錯過了它。更新 –