我有一個表,其中有sort_no
列,排序值屬於q_id
,它對應於問題ID。但是,它不包括正確的排序值。有時候,對於不同的記錄,重複的排序號碼將被重複使用相同的q_id
。我必須用每個問題的唯一排序編號來重構此表。基於排序列和另一列值重新排序表
這是我已經有了一個簡單的數據:
id | name | sort_no | q_id
-------------------------------
1 | val_1 | 1 | 21
2 | val_2 | 2 | 21
3 | val_3 | 1 | 32
4 | val_4 | 3 | 21
5 | val_5 | 2 | 32
6 | val_6 | 2 | 32
7 | val_7 | 1 | 25
8 | val_8 | 1 | 21
9 | val_9 | 1 | 21
-------------------------------
這是它應該是什麼:
id | name | sort_no | q_id
------------------------------
1 | val_1 | 1 | 21
2 | val_2 | 2 | 21
3 | val_3 | 1 | 32
4 | val_4 | 3 | 21
5 | val_5 | 2 | 32
6 | val_6 | 3 | 32
7 | val_7 | 1 | 25
8 | val_8 | 4 | 21
9 | val_9 | 5 | 21
-------------------------------
其實,我可以取記錄,並把它們放在一個循環,並更新通過一個循環。但是,如你所知,這需要時間和資源。這張表擁有數百萬條記錄。
我想知道如果我可以直接在MySQL中使用嵌套查詢。
我不知道該查詢。
有沒有人遇到過這個?
我想你已經張貼在同一個表兩次。 – boroboris
@boroboris,nope。看看sort_no – Mojtaba