У меня есть таблица с столбцами userID, sectionId, usersectionID, valid
. Этот допустимый столбец используется для идентификации повторяющихся записей. Но некоторые дубликаты записей смешались в допустимом столбце.Поиск дубликатов записей и обновление столбца - Mysql
select userID, sectionId, count(*) as cnt from table where valid = 1 group by 1,2 having cnt >1 ;
Это покажет мне список комбинаций идентификаторов userID и sectionID, дублирующих записи. Если комбинация userid и sectionID имеет более 1 записи, значит, это дубликат.
Например, это может быть выход,
userId SectionID Cnt
1 4 3
Теперь, когда мы видим это в дальнейшем,
Select userId, sectionId, usersectionID, valid from table where userID = 1 and sectionID = 4;
userID sectionID usersectionID valid
1 4 3 1
1 4 5 1
1 4 10 1
Я хочу, чтобы обновить действующий столбец с 0 для всех записей, кроме минимума usersectionID , Результат после этого запроса должен быть
userID sectionID usersectionID valid
1 4 3 1
1 4 5 0
1 4 10 0
Я хочу сделать это для полной таблицы в одном запросе. Я пробовал это в течение долгого времени с большим успехом. Может ли кто-нибудь помочь мне в решении этого? или может даже дать какую-то идею сделать это?
Благодаря
Wow .. Thats очень хороший запрос .. Спасибо большое! – Observer