mysql 计算非重复,MySQL不计算重复行

i have a a table called ptb_profile_views;

id | profile_id | viewed_profile | date

1 1 5

2 1 5

3 1 5

4 2 5

5 3 5

ok so in this example users 1,2 ans 3 are checking out user 5's profile,

the mysql i've got here is suppose to count the number of views a user has got, but where user 1 has checked out user 5 several times i do not want to return duplicate rows,

so instead of saying user 5 has been viewed 5 times, they will have only actually been viewed 3 times because i only want to count distinct values.

heres my mysql can someone please help me:

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;

}

the 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

解决方案

just add DISTINCT

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

and echo the alias,

$views['totalCOUNT']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值