在PHP / Mysql中打印重复记录

时间:2011-07-11 07:34:01

标签: php mysql duplicate-data

我正在尝试打印表的重复记录,但只有单行 echo.However在mysql中,这个查询会产生所有重复的记录。这是查询:

$q = mysql_query("SELECT * FROM add WHERE cust_id = '144' GROUP BY cust_id");
$r = mysql_fetch_array($q);
$s = mysql_num_rows($q);

while($s !=0)
{
    echo $r;
    $s=$s-1;
}

代码有什么问题?

5 个答案:

答案 0 :(得分:1)

$q = mysql_query("SELECT * FROM add WHERE cust_id = '144' GROUP BY cust_id");

while($r = mysql_fetch_array($q))
{
    print_r($r);
}

答案 1 :(得分:0)

你需要遍历整个记录集......你只是抓住第一行:

$resultset = mysql_query("select * from add where cust_id = '144' group by cust_id");
while($row = mysql_fetch_assoc($resultset))
{
   echo $row['column_name'];
}

答案 2 :(得分:0)

由于GROUP BY子句,您的SQL查询实际上只返回0或1行。你绝对相信那是你在mysql中执行的查询吗?

答案 3 :(得分:0)

尝试以下方法:

$q = mysql_query("SELECT * FROM add WHERE cust_id = '144'");
while($r = mysql_fetch_array($q))
{
    echo $r;
}

答案 4 :(得分:0)

好吧,如果你想获得重复的值,那么这个查询将很好地为你服务:

T =表格 f =要检查重复项的字段 id =行id

select id,f from T group by f having count(f)= 2;

或> 2如果您希望f中的每个值出现在多行中。

拥有就像在哪里但在分组之后进行评估。