-2

というmysqlテーブルの行を数えていますptb_profile_views

私のテーブルは次のようになります。

id  |  profile_id   | viewed_profile_id  |  date_time  |

1          1                  6              
2          2                  6
3          2                  6
4          2                  6
5          3                  6

現時点では、クエリはテーブル内のすべての行をカウントしています。ただし、重複する値を含まない行のみをカウントしたいprofile_id.

したがって、ユーザー 2/profile_id 2 がユーザー 6 のプロファイルを数回表示した場合 (この場合はそうです)、クエリでそれを 1 回だけカウントするようにします。個別に使用しようとしていますが、機能していません。誰かが私が間違っているところを教えてもらえますか?

function check_profile_views() {
    global $connection;
    global $_SESSION;
    $query = "SELECT DISTINCT COUNT(id) FROM ptb_profile_views WHERE viewed_profile_id=".$_SESSION['user_id']." AND profile_id='0'";
    $check_profile_views_set = mysql_query($query, $connection);
    confirm_query($check_profile_views_set);
    return $check_profile_views_set;        
}
4

1 に答える 1

0

以下を試してください (viewed_profile_id が 6 であると仮定):

SELECT COUNT(DISTINCT profile_id) FROM ptb_profile_views WHERE viewed_profile_id=6
于 2013-04-08T02:59:01.963 に答える