Создание простого списка лидеров без поля счета. PHP / Mysql

Как создать основную таблицу лидеров, ранжирующую каждого пользователя по количеству?

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

Я попытался использовать агрегатную функцию, но не могу понять, как организовать ее в таблицу лидеров. Глядя на другие учебные пособия, они все, кажется, имеют поле для оценки, чтобы сделать это.

Есть идеи?

-2

Решение

SELECT
user_id,
(SELECT COUNT(*) FROM `reviews` r WHERE r.user_id = u.user_id) as user_reviews
FROM `user` u
ORDER BY
(SELECT COUNT(*) FROM `reviews` r WHERE r.user_id = u.user_id) DESC

Не зная более подробной информации о том, как вы храните данные и т. Д., Выше будет перечислять пользователей в порядке того, сколько отзывов присутствуют в базе данных.

1

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

Простым способом было бы создать таблицу в MySQL, а затем ввести все данные. Затем на стороне PHP, когда необходимо будет отобразить данные, возьмите эти данные из таблицы и отсортируйте их по наибольшему количеству и по убыванию. Затем представьте это аккуратно с помощью HTML и CSS.

0