powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / генерация уникальных значений в SELECT
12 сообщений из 12, страница 1 из 1
генерация уникальных значений в SELECT
    #39341513
kristoferR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здравствуйте
встал следующий вопрос:
как в SELECT сгенерировать уникальные значения одного поля или автоинкремент

пока сделал так:
SELECT GREATEST(1,ROUND((RAND())*9999999)) AS id, table1.field2 FROM ...

но желательно чтобы они были с автоприростом, так как в моей конструкции можно натолкнуться на повтор

спасибо
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341530
retvizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kristoferR,

1. http://www.sql.ru/forum/684431/faq-numeraciya-strok-i-drugie-voprosy-pro-ispolzovanie-peremennyh

2. https://mariadb.com/kb/en/mariadb/sequence/

3. в последних версиях (ещё не GA) с помощью рекурсивных ОТВ
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341545
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kristoferRздравствуйте
встал следующий вопрос:
как в SELECT сгенерировать уникальные значения одного поля или автоинкремент

пока сделал так:
SELECT GREATEST(1,ROUND((RAND())*9999999)) AS id, table1.field2 FROM ...

но желательно чтобы они были с автоприростом, так как в моей конструкции можно натолкнуться на повтор

спасибо

UUID() чем не подходит?
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341612
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kristoferR,

table1.id тоже не годится?

Зачем вообще эта нумерация?
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341654
kristoferR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
retvizan
SET не подходит
SELECT @i := @i + 1 AS ... тоже пробовал, но не подходит,
искал другое решение, но как видно нет

miksoft
если задаю вопрос, значит table1.id не подходит
зачем нужна? просто есть один зверь, на которого я повлиять не могу, но могу кормить его своими запросами из текстового файла
и получив мой запрос, он в итоге делает GROUP BY table1.id, вот потому мне и нужны уникальные id
надеюсь понятно пояснил

буду копать
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341656
kristoferR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex564657498765453
увы, мне нужен int id
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341661
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kristoferRSELECT @i := @i + 1 AS ... тоже пробовал, но не подходит,А это почему не подходит?
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341685
kristoferR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, почему не подходит:
1. забыл указать, что это должен быть один запрос, т.е. никаких SET, прошу прощения за невнимательность при создании вопроса
2. попробуйте эту конструкцию без предварительного SET @unival = 0; и на выходе получим сплошные null, а это меня расстраивает, так как на выходе я должен получить int id

я сейчас попробую придумать шаманство с UUID, как вариант выдрать все цифири, прибавить непонятно что, удалить, умножить, и вуаля (авось...)
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341695
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kristoferRSET не подходитЕго можно убрать внутрь основного SELECT-а. В первой ссылке выше первый же пример.
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39341698
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kristoferRя сейчас попробую придумать шаманство с UUID, как вариант выдрать все цифири, прибавить непонятно что, удалить, умножить, и вуаля (авось...)Цифр там будет переменное количество и не факт, что достаточное.
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39343093
kristoferR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, да один из вариантов прошел
а именно:
SELECT (@uv := @uv + 1) AS id, ...
FROM ...
INNER JOIN (SELECT @uv : =0)
...

прекрасный пример, всем спасибо, тема закрыта
...
Рейтинг: 0 / 0
генерация уникальных значений в SELECT
    #39343195
kristoferR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати, такой вариант, тож ничего:
TRIM(LEADING '0' FROM (TRIM(LEADING '0.' FROM RAND()))) AS id
примитивен, но работает
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / генерация уникальных значений в SELECT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]