所以我想通过点击对用户进行排名,这是我的代码:<!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 关注
- 69 浏览
添加回答
举报
0/150
提交
取消