簡體   English   中英

創建一個沒有分數字段的簡單排行榜。 PHP/Mysql

[英]Creating a simple leaderboard without a score field. PHP/Mysql

如何創建一個基本的排行榜,按數量對每個用戶進行排名?

例如,我正在嘗試創建一個排行榜,在該排行榜上按完成最多書評的用戶對用戶進行排名

我曾嘗試使用聚合函數,但似乎無法弄清楚如何將其組織到排行榜中。 查看其他教程,他們似乎都有一個分數字段來執行此操作。

有任何想法嗎?

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 整齊地呈現它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM