2
如果我做出選擇,從我的MySQL表所示:MySQL的 - 如何基於表的內部排序atable更新
SELECT * FROM mytable ORDER BY country_id, category
我得到如下表:
+------------+----------+-------+
| country_id | category | order |
+------------+----------+-------+
| 1 | A | 0 |
| 1 | B | 0 |
| 1 | F | 0 |
| 3 | A | 0 |
| 3 | C | 0 |
| 5 | B | 0 |
| 5 | L | 0 |
| 5 | P | 0 |
+------------+----------+-------+
我想要做的就是更新order
列,以便該列的值是該行的country_id的順序。換句話說最後的表應該是這樣的:
+------------+----------+-------+
| country_id | category | order |
+------------+----------+-------+
| 1 | A | 1 |
| 1 | B | 2 |
| 1 | F | 3 |
| 3 | A | 1 |
| 3 | C | 2 |
| 5 | B | 1 |
| 5 | L | 2 |
| 5 | P | 3 |
+------------+----------+-------+
如果我使用在子查詢前給出的原始查詢,這會給我正確的順序,但我無法弄清楚如何遍歷表和懷疑我錯誤地考慮了它。
我該如何得到這個結果?
非常感謝
注意:沒有內部訂單,理論上每次運行查詢時可以得到不同的訂單。 – Karolis
我不明白@Karolis。它正在訂購'country_id'的數字,然後'category'中的字母是不是?每次都會給出相同的順序。 – Joe
是否有相同的對(country_id,category)? – Devart