У меня есть таблица предметов:
id | name | is_featured
1 name1 false
Предметы из этой таблицы мне нужно показать их случайным образом, но сначала is_featured. Правила таковы:
Если считать is_featured=True
> 6, получить is_featured=True
все, и рандомизировать и получить первые 6
Если считать is_featured=True
<6, получить <code>is_featured=True все и рандомизировать
Подсчитайте, сколько не хватает до 6. Получите из неучтенного случайного числа оставшиеся предметы. Единственные списки.
Я делаю это за 2-3 шага в базе данных:
- сначала посчитать количество избранных
- сначала включите функцию, затем получите остальные, если необходимо, и рандомизируйте (в бэкэнде)
Можно сделать это за один шаг, в базе данных?