2017-05-19 8 views
-2

私はコメントしたユーザーの数を表示するこのコメントシステムを使用しています。 私は私のデータベースでこれを持っている:num行をカウントし、繰り返しデータをスキップ

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」は既にカウントされているので、これはスキップします。その結果は2に過ぎません。とにかく私はこれをすることができますか?ありがとう!

+0

commentid = '$ commentid'? whireはコラム – Musaddique

+2

で、 'group by'と' count'について読む – Jens

+1

マニュアルのCOUNTを参照してください – Strawberry

答えて

1

使用COUNT(DISTINCT id)

SELECT COUNT(DISTINCT id) FROM comments WHERE commentid = '$commentid' 
1
SELECT count(DISTINCT name) FROM comments WHERE commentid = '$commentid'" 
1

あなたがDISTINCTCOUNTキーワードを探しています:

$sql = "SELECT COUNT(DISTINCT(id)) FROM comments WHERE commentid = $commentid" 

このクエリは、特定とコメントしたすべてのユーザーの数を返しますcommentid

関連する問題