-1

値が単一の列に表示される合計回数をカウントする方法を知っている人はいますか?

たとえば、私のテーブルは次のようになります。

user_id  |  liked_id   |   likes

   3             1           1   
   4             1           1

私がやりたいのは、liked_id が一致する likes 列の合計をカウントすることです。

では、liked_id 1 には 2 つのいいね! がありますか?

誰かが私にこれを行う方法を教えてもらえますか?

function count_likes() {
            global $connection;
            global $profile_id;
            $query = "SELECT likes, count(*) FROM ptb_likes GROUP BY liked_id";
            $count_likes_set = mysql_query($query, $connection);
            confirm_query($count_likes_set);
            return $count_likes_set;        
        }
4

3 に答える 3

3

これを試して:

SELECT liked_id, SUM(likes) FROM ptb_likes GROUP BY liked_id
于 2013-02-10T15:49:46.930 に答える
1

それらをグループ化する必要がありますliked_id

SELECT liked_id, count(*)  totalLikes
FROM ptb_likes 
GROUP BY liked_id
于 2013-02-10T15:50:08.603 に答える
0

like_idが1の行数が必要な場合

SELECT liked_id, COUNT(likes) FROM ptb_likes WHERE liked_id = 1;

各like_idの頻度が必要な場合:

SELECT liked_id, COUNT(likes) FROM ptb_likes GROUP BY liked_id;

注:SUMはlike_idのすべての値を追加するため、使用しないでください。like_idが1より大きい場合、カウントは間違っています。代わりにcountを使用してください。

于 2013-02-10T16:01:53.563 に答える