140 / 96 / 47
Регистрация: 03.08.2013
Сообщений: 765
1

Из бд нужно достать случайную запись

21.11.2014, 21:26. Показов 1377. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу решить такое - из бд нужно достать случайную запись (где `active` = '1')
Вот мой запрос:
PHP
1
$ad_link = mysqli_query($sqli_link, 'SELECT * FROM `ad` WHERE `active` = "1"');
Зарание спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2014, 21:26
Ответы с готовыми решениями:

Как выводить случайную запись из БД
Здравствуйте, если уже была такая тема, тыкныте меня носом пожалуйста. имеется база данных, в ней...

Запись текста в случайную строку
Здравствуйте Уважаемые форумчане, Записываю текст в текстовых документ таким кодом ...

Тест (брать с ini случайную запись)
Помогите реализовать маленькую но мне нужную программку для подготовки к вступительным экзаменам ...

Как выбрать случайную запись из базы данных?
Хочу сделать программу для запоминания английских слов. Нужно из таблицы базы данных получить...

3
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
21.11.2014, 21:34 2
Лучший ответ Сообщение было отмечено illya05 как решение

Решение

PHP
1
$ad_link = mysqli_query($sqli_link, 'SELECT * FROM `ad` WHERE `active` = "1" ORDER BY rand() LIMIT 1');
1
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
21.11.2014, 21:45 3
Нашел.

http://www.mysql.ru/docs/man/M... tions.html

RAND()
RAND(N)
Возвращает случайную величину с плавающей точкой в диапазоне от 0 до 1,0. Если целочисленный аргумент N указан, то он используется как начальное значение этой величины:

mysql> SELECT RAND();
-> 0.9233482386203

mysql> SELECT RAND(20);
-> 0.15888261251047

mysql> SELECT RAND(20);
-> 0.15888261251047

mysql> SELECT RAND();
-> 0.63553050033332

mysql> SELECT RAND();
-> 0.70100469486881

В выражениях вида ORDER BY не следует использовать столбец с величинами RAND(), поскольку применение оператора ORDER BY приведет к многократным вычислениям в этом столбце. В версии MySQL 3.23 можно, однако, выполнить следующий оператор: SELECT * FROM table_name ORDER BY RAND(): он полезен для получения случайного экземпляра из множества SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000. Следует учитывать, что оператор RAND() в выражении WHERE при выполнении выражения WHERE будет вычисляться каждый раз заново. Оператор RAND() не следует воспринимать как полноценный генератор случайных чисел: это просто быстрый способ динамической генерации случайных чисел, переносимых между платформами для одной и той же версии MySQL.
0
140 / 96 / 47
Регистрация: 03.08.2013
Сообщений: 765
21.11.2014, 21:46  [ТС] 4
ads, Спасибо!
0
21.11.2014, 21:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2014, 21:46
Помогаю со студенческими работами здесь

Выбрать случайную запись среди выбранных данных в БД
Добрый день. Помогите найти решение пожалуйста. Есть БД с id и type. Записи идут по порядку...

Нужно найти дискретную случайную величину у которой есть мат ожидание но нет дисперсии
Такая задача: нужно найти дискретную случайную величину у которой есть мат ожидание но нет...

Как достать только одну запись?
нужен запрос чтобы обновить строку в таблице `forums` где `id` = и выбрать из другой таблице ( но...

Нужно достать код на C# из .exe
Вот 2-а .exe помогите пожалуйста достать из них код на C# https://yadi.sk/d/Gh5fuMKNXRgy9w...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru