我有这个评论系统,我想显示有多少用户评论过。 我在我的数据库中有这个:
id | name | comment
12 Alex hello
13 James hi
12 Alex hey
即,数据库中的人数仅为2.我可以通过计算结果来完成此操作:
$q = "SELECT * FROM comments WHERE commentid = '$commentid'";
$res = mysqli_query($connection,$q);
$number = mysqli_num_rows($res);
这将导致3
,因为在数据库中注册了3条评论。
现在,我怎样才能在完成阅读相同数据时跳过代码,比如我想要计算有多少人评论 - 它开始计算 - 读取Alex并计算它 - 阅读James并计算它 - 再次阅读Alex但是从那以后“亚历克斯”已被计算,这将跳过 - 因此结果只会是2
。无论如何我能做到吗?谢谢!
答案 0 :(得分:1)
使用COUNT(DISTINCT id)
SELECT COUNT(DISTINCT id) FROM comments WHERE commentid = '$commentid'
答案 1 :(得分:1)
SELECT count(DISTINCT name) FROM comments WHERE commentid = '$commentid'"
答案 2 :(得分:1)
您正在寻找DISTINCT
和COUNT
关键字:
$sql = "SELECT COUNT(DISTINCT(id)) FROM comments WHERE commentid = $commentid"
此查询将返回使用特定commentid
评论的所有用户的计数。