У меня есть таблица testTble
со столбцом testVal
который содержит повторяющиеся значения. Я могу найти каждое уникальное значение столбца, используя DISTINCT(testVal)
. Но я хочу установить конкретное имя каждого уникального значения столбца.
Подобно:
Я запустил запрос в моей базе данных и нашел эти отличные значения.
SELECT DISTINCT(testVal) AS web FROM 'testTble'
Выход:
web
169.254.15.169
10.0.0.91
192.168.80.47
10
Теперь я хочу установить уникальное имя этих значений, например:
169.254.15.169
как web21
10.0.0.91
как web22
Итак, как я могу установить имя, как это?
В MySQL 8+ вы можете использовать row_number()
:
select test_val, row_number() over (order by test_val)
from t
group by test_val;
В более ранних версиях вы можете использовать переменные:
select test_val, (@rn := @rn + 1) as seqnum
from t cross join
(select @rn := 0) params
group by test_val;
В обоих случаях "имя" - это числовое значение, но это похоже на то, что вы хотите сделать.
string
? Я имею в виду AB1 или AB2