我还没有代码,因为我从来没有写过这样的查询。我公司的电子商务网站提供首次购买 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;
}
}
这可以通过一个查询来完成吗?如果可以,请提供示例或链接。我感谢任何帮助
最佳答案
同 table 加入:
SELECT * FROM users u1 LEFT JOIN users u2 ON (u1.FirstName = u2.FirstName)
WHERE u1.Id != u2.Id;
关于php - 比较数据库项目以查找重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806226/