所以我想通過點擊對用戶進行排名,這是我的代碼:<!DOCTYPE html><html><head><title>User ranking</title></head><body><table style="width:100%"> <tr> <th>Rank</th> <th>User</th> <th>clicks</th> </tr> <tr> <td></td> <td> <?php $servername = "localhost"; $username = "..."; $password = "..."; $dbname = "..."; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT DISTINCT id, user FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo $row["user"]. "<br>"; } } else { echo "0 results"; } $conn->close(); ?> </td> <td></td> </tr></table></body></html>但這是我的問題:“用戶”列有重復的用戶,在表中我只想將唯一用戶計為“用戶”,你注意到我沒有在 php 代碼中提到“點擊”,因為我沒有點擊數據庫中的列...所以這就是我想要計算點擊次數的方式:正如我所說的“用戶”列有重復的用戶,我想計算用戶名重復的次數并對其進行排名。例如:用戶 John X3 和 Dan X2 在數據庫中我想計算 John 和 Dan 重復的次數,因為 John 是 3 次 John 排名第一,而 Dan 應該排名第二這里還有另一個問題:數據庫每 24 小時重置一次,因此所有數據每 24 小時消失一次。如何解決?如何永久顯示數據庫數據,我的意思是顯示數據庫數據,然后在 24 小時后保持增加...我不知道這是否有用:數據庫有“Id”列并且它不會重置例如 3 次 John 在數據庫中,'John with id 1''john with id 2'和'john id 為 3'。用過JS沒問題。順便說一句,我是初學者,我試圖這樣做……我花了大約 7 個小時,但每次嘗試都失敗了。
1 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
所以這就是我想要計算點擊次數的方式:正如我所說的“用戶”列有重復的用戶,我想計算用戶名重復的次數并對其進行排名。
你想要聚合:
select user, count(*) clicks from users group by user order by clicks desc
- 1 回答
- 0 關注
- 91 瀏覽
添加回答
舉報
0/150
提交
取消