У меня есть SQL таблицу, как это:SQL UPDATE только Дублирование
+------+------------+---------+---------+--------+
| id | x | y | z | status |
+------+------------+---------+---------+--------+
| 1 | bla | ja | 1 | 0 |
| 2 | blaa | jaa | 2 | 0 |
| 3 | bla | ja | 1 | 0 |
| 4 | blaaa | jaaa | 3 | 0 |
| 5 | blaa | jaa | 2 | 0 |
+------+------------+---------+---------+--------+
Я хочу обновить только столбец статуса повторяющихся строк, а не первый.
С этим утверждением я обновить каждый дубликат также первая строка дубликата строки:
UPDATE table INNER JOIN
(SELECT x, y, z FROM table GROUP BY x,y,z HAVING COUNT(id) > 1)
dup
ON table.x = dup.x && table.y = dup.y && table.z = dup.z
SET status = '1'
Но не тот имеет права, так как таблица должна выглядеть после заявления UPDATE, как это:
+------+------------+---------+---------+--------+
| id | x | y | z | status |
+------+------------+---------+---------+--------+
| 1 | bla | ja | 1 | 0 |
| 2 | blaa | jaa | 2 | 0 |
| 3 | bla | ja | 1 | 1 |
| 4 | blaaa | jaaa | 3 | 0 |
| 5 | blaa | jaa | 2 | 1 |
+------+------------+---------+---------+--------+
Надеюсь, вы можете мне помочь.
Большое спасибо.
Пожалуйста, помечать вопрос с базой данных, которую вы используете. –
Каков ваш ожидаемый результат? –