Мои table1
выглядит так: MySql как использовать UPDATE с HAVING?
мне нужно увеличивать
id name_co name_r temp sld 1 name1 1 ... ... 2 name2 1 ... ... 3 name2 1 ... ... 4 name2 1 ... ... 5 name3 1 ... ... 6 name2 1 ... ...
name_r
, если имеется два или более одинаковых
name_co
. Чтобы быть так:
id name_co name_r temp sld 1 name1 1 ... ... 2 name2 1 ... ... 3 name2 2 ... ... 4 name2 3 ... ... 5 name3 1 ... ... 6 name2 4 ... ...
Я пробовал разные варианты, и я пришел к этому:
UPDATE table1
SET name_r = name_r + 1
WHERE (SELECT COUNT(*)
GROUP BY name_co
HAVING name_co > 1)
Запрос работает и возвращает 0 строк, но я знаю, что в некотором роде он неправ, но я не могу Не поймите, что. Может ли кто-нибудь помочь? (И немного объяснения, так что я лучше понял)
Последние две колонки-видимому, не имеют никакого отношения к этому вопросу, поэтому я не ясно, почему они включены выше – Strawberry
я попробовал: 'SELECT COUNT (*) AS test FROM table1 GROUP BY name_co HAVING test> 1' для объединения с 'UPDATE table1 SET name_r = name_r + 1'. Для 'UPDATE' работать с' HAVING'. Я знаю, что этот запрос плохо подготовлен. –
Если вы предоставили sqlfiddle или rextester, я уверен, что кто-то предоставит решение. Но оставьте без внимания колонки – Strawberry