-2

我正在计算名为 .mysql 的 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 的个人资料,在这种情况下他们会这样做,我只希望查询计算一次。我正在尝试使用 distinct 但它不起作用。有人可以告诉我哪里出错了吗?

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 回答