Задать вопрос
@biohan

Замена orber by rand()?

Здравствуйте!

При использование

SELECT f.id, f.login, f.password FROM ts f
JOIN ( SELECT RAND() * (SELECT MAX(id) FROM ts) AS max_id ) AS m
WHERE f.id >= m.max_id and active = 0
LIMIT 1;


Всегда получается одна и та же строка. Если убрать active = 0, то получаются разные.
Подскажите как переделать зарос, чтобы с active = 0 всегда были разные строки
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
А в чем проблем использовать `order by`:
SELECT id, login, password
FROM ts
WHERE active = 0
ORDER BY RAND()
LIMIT 1;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы