我还没有代码,因为我从未写过这样的查询。我公司的电子商务网站提供首次购买20%的折扣。我们发现偷偷摸摸的人创建多个帐户来利用。此时创建一个帐户时,它只会检查一个匹配的电子邮件。比较数据库项目以查找重复项
老板想要什么时,只要他登录到管理区域,查询就会运行并显示具有相同名字和姓氏的任何帐户以及其他项目。唯一可以这样做的方式是选择所有用户,并循环搜索所有匹配项。我认为这可以通过一个查询来完成。这里是我想要的一个例子:
$res=$mysqli->query("SELECT * from users");
while($user = $res->fetch_array()){
$res2=$mysqli->query("SELECT * FROM users WHERE firstname='".$user->firstname."'
OR lastname='".$user->lastname."' .... ");
while($user2 = $res2->fetch_array()){
print $user->id . " matches " . $user2->id;
}
}
可以这样使用一个查询完成,如果是的话,请proive一个例子,或链接。我感谢所有帮助
阅读SQL中的“group by”。这应该可以帮助你。 – Danny 2012-01-10 15:58:19
尽管有些练习写出了实际的查询,但是您可以使用&count()组获得重复计数的列表,然后选择您的上司希望两个名字匹配的计数> 1 – MrGlass 2012-01-10 15:58:55
姓氏,还是他想要名字或姓氏上的匹配?前者似乎对我最明智,但你的查询中有'OR'! – 2012-01-10 16:02:49