Как создать основную таблицу лидеров, ранжирующую каждого пользователя по количеству?
Например, я пытаюсь создать таблицу лидеров, в которой бы оценивали пользователей по количеству рецензий на книги.
Я попытался использовать агрегатную функцию, но не могу понять, как организовать ее в таблицу лидеров. Глядя на другие учебные пособия, они все, кажется, имеют поле для оценки, чтобы сделать это.
Есть идеи?
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
Не зная более подробной информации о том, как вы храните данные и т. Д., Выше будет перечислять пользователей в порядке того, сколько отзывов присутствуют в базе данных.
Простым способом было бы создать таблицу в MySQL, а затем ввести все данные. Затем на стороне PHP, когда необходимо будет отобразить данные, возьмите эти данные из таблицы и отсортируйте их по наибольшему количеству и по убыванию. Затем представьте это аккуратно с помощью HTML и CSS.