mysql不计算重复行

时间:2013-04-08 03:16:39

标签: php mysql

我有一个名为ptb_profile_views;

的表
id  |  profile_id  |  viewed_profile  |  date

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

好的,所以在这个例子中,用户1,2 ans 3正在检查用户5的个人资料,

我在这里的mysql假设要计算用户已经获得的视图数量,但是用户1多次检出用户5的次数我不想返回重复的行,

因此,不是说用户5被观看了5次,而是实际上只被观看了3次,因为我只想计算不同的值。

继承人我的mysql有人可以帮助我:

function check_profile_views() {
            global $connection;
            global $_SESSION;
            $query = "SELECT COUNT(profile_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;        
        }

php:

$check_profile_views_set = check_profile_views();
while ($views = mysql_fetch_array($check_profile_views_set)) {  
?>
<? echo"". $views['COUNT(profile_id)'] ."";?> viewed your profile

1 个答案:

答案 0 :(得分:9)

只需添加DISTINCT

SELECT COUNT(DISTINCT profile_id) totalCOUNT FROM ptb_profile_views...

并回显别名,

$views['totalCOUNT']