powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Random
3 сообщений из 3, страница 1 из 1
Random
    #39643983
Geebrox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, хотел вывести из БД 20 рандомных записей. Получился такой запрос:
Код: sql
1.
SELECT * FROM `table_name` WHERE 1 ORDER BY rand() LIMIT 20



Всё работает отлично, но есть одна проблема. Если в БД нет 20и записей, то запрос возвращает столько записей, сколько имеется в БД. Как можно сделать так чтобы, если в БД нет 20и записей, то выбирался рандомно ещё записи, пока количество записей для ответа не было ровно 20. Помогите пожалуйста, я новичок в MySQL, прощу прощение если что-то высказал не правильно.
...
Рейтинг: 0 / 0
Random
    #39643991
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле, на выходе продублировать некоторые записи? Типа, если в таблице всего одна запись, то отдать её в 20-ти строках результата? Тогда не ясно, что делать при отсутствии записей в таблице, дублировать то нечего. Или следует дополнить результат до 20-ти строк с каким-то заданным значением, например, NULL или пустая строка?
...
Рейтинг: 0 / 0
Random
    #39644003
Geebrox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle, всё верно, если 1 запись, то продублировать 20 раз, если 10 то рандомно продублировать ещё 10 запросов, если нет, то ничего не возвращать.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Random
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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