Как написать SQL-запрос для сортировки тем по дате, а затем по количеству лайков?

Я хочу что-то вроде 9gag или reddit.

SELECT *
FROM topic
WHERE somecondition
ORDER BY posted_time DESC, number_of_likes DESC?

У меня есть количество лайков, количество избранных и количество комментариев. Я также хотел бы, чтобы этот алгоритм популярности использовался не более чем для 30 горячих тем в день, и, если для этого дня не было никакой темы, автоматически переходить на следующий день и давать мне популярные темы и так далее. Как это возможно?

-2

Решение

Вы можете добавить к своему утверждению в конце «LIMIT 30», что ограничит результаты до 30 и даст вам темы в соответствии с вашим порядком в запросе.

Итак, ваш запрос должен выглядеть так:

SELECT *
FROM topic
WHERE somecondition
ORDER BY posted_time DESC, number_of_likes DESC LIMIT 30

Кроме того, имейте в виду, что если все ваши темы хранятся с указанным временем, маловероятно, что у вас будет несколько тем одновременно, а это означает, что лайки не будут влиять. Если вы хотите заказать его по дням, а затем по лайкам, возможно, измените запрос на ORDER BY DATE(posted_time)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]