Мне нужно получить из базы данных 3 случайных элемента, у меня есть этот запрос:
User.joins(:user_cities).where("user_cities.city_id = ?", > @city.id).offset(rand(User.count)).limit(3)
, и это генерирует меня:
SELECT `users`.* FROM `users` INNER JOIN `user_cities` ON `user_cities`.`user_id` = `users`.`id` WHERE (user_cities.city_id = 1) LIMIT 3 OFFSET 15
Где потерялась функция RAND
?Этот запрос возвращает пустой набор, когда я удаленно OFFSET 15
, так что я получаю около 3 результатов, но каждый раз одни и те же результаты.
Что не так с функцией RAND
в ActiveRecord?