我對sql相當陌生,並希望有人可以幫助我進行更新查詢。我有一個group_id(外鍵),user_id和user_index列的用戶表。有多個用戶對應於每個單獨的group_id,user_id是從1到表大小的串行列。SQL查詢以基於組填充索引字段
我正在查詢將更新user_index列的查詢,以便對於每個group_id,每個用戶都有一個以1開始的唯一的順序索引。因此,在組1中將存在user_index 1,2,3 ...在組2中將有user_index 1,2,3 ...等等。下面是一個例子來闡明:
初始狀態:
user_id | group_id | user_index
1 1 0
2 1 0
3 1 0
4 2 0
5 3 0
6 3 0
期望狀態:
user_id | group_id | user_index
1 1 1
2 1 2
3 1 3
4 2 1
5 3 1
6 3 2
我希望是十分明顯的。這在C或C++中很容易實現,但我想知道是否有辦法在sql中執行此操作。
包含組的user_id總是形成一個不間斷的序列嗎?或者group_id = 4可以是user_id IN(7,8,20)例如? – 2010-09-21 22:10:54
它們不是一個不間斷的序列,由於行被刪除,往往會有一些缺失。 – Brysonic 2010-09-21 22:23:25