如果列数据重复,mysql不会对行计数两次

时间:2013-04-08 02:26:34

标签: php mysql

我在计算名为ptb_profile_views的mysql表中的行。

我的表格如下:

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

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;        
}

1 个答案:

答案 0 :(得分:0)

尝试以下方法(假设seen_profile_id为6):

SELECT COUNT(DISTINCT profile_id) FROM ptb_profile_views WHERE viewed_profile_id=6