Php 我可以让mysql在一列中的任何行上搜索相同的匹配项吗?

Php 我可以让mysql在一列中的任何行上搜索相同的匹配项吗?,php,mysql,Php,Mysql,我不知道该怎么办问这个 是否可以让mysql扫描整个表中的整个列,并找到一个或多个相同的匹配项 所以会有点像 $q = $pdo("SELECT ip FROM accounts"); $q -> execute(); $results = $q -> fetch(PDO::FETCH_ASSOC); if (there is 2 of same ip) { } 谢谢你应该尝试一下类似的方法 SELECT `a`, `b`, COUNT(`a`) AS cnt FROM `ta

我不知道该怎么办问这个

是否可以让mysql扫描整个表中的整个列,并找到一个或多个相同的匹配项

所以会有点像

$q = $pdo("SELECT ip FROM accounts");
$q -> execute();
$results = $q -> fetch(PDO::FETCH_ASSOC);

if (there is 2 of same ip) {

}

谢谢

你应该尝试一下类似的方法

SELECT `a`, `b`, COUNT(`a`) AS cnt FROM `table` AS t GROUP BY t.`a` ORDER BY cnt DESC;

如果您要查找重复的IP,下面的SQL应该为您提供在accounts表中列出两次或更多次的IP

$q= $pdo("SELECT ip FROM accounts GROUP BY ip HAVING COUNT(ip) > 1");
$q->execute();
$duplicateIPs = $q->fetch(PDO::FETCH_ASSOC);

我不知道你在问什么你的意思是
SELECT*FROM[table]WHERE last_IP=[current_IP]
?请你重新表述一下question@quamis我编辑了我的问题…您也可以使用
COUNT(*)>1
而不是
COUNT(ip)>1
。您仍然可以计算行数(使用相同的ip。)
$q= $pdo("SELECT ip FROM accounts GROUP BY ip HAVING COUNT(ip) > 1");
$q->execute();
$duplicateIPs = $q->fetch(PDO::FETCH_ASSOC);