0

可能重复:
在数据库中查找重复的字符串

我用 php 查询一个 mysql 数据库。

我需要知道表中重复超过 375 个的名称(它有 375 行)。该表包含 3 列:id、name、category。

这是我的 php 代码,但是它用 php 计算,我希望它是用 mysql 制作的

$query = "SELECT * FROM user_likes"; 
//echo $query;
$result = mysql_query($query) or die(mysql_error());

// craete arrays
while($row = mysql_fetch_array($result)){
    set_time_limit(0);
    $like[$row['name']]=$like[$row['name']]+1;
    if($like[$row['name']]==375) $likes375 ++; 

}

如果有人可以帮助我,我将不胜感激。谢谢!

4

3 回答 3

1

尝试这个:

SELECT name, count(*) likes 
FROM user_likes 
GROUP BY name
HAVING COUNT(*) > 375
于 2012-09-30T03:12:57.387 回答
0

这里有一些 SQL 来计算每个名字的点赞数。

SELECT name, count(*) likes FROM user_likes GROUP BY name;

这是一些用于过滤超过 375 个喜欢的名称的 SQL

SELECT i.name, i.likes
FROM ( SELECT name, count(*) likes FROM user_likes GROUP BY name) i
WHERE i.likes > 375
于 2012-09-30T03:08:30.090 回答
0

如果您要查找重复的名称:

$query = "SELECT name FROM user_likes GROUP BY name HAVING COUNT(*) = 375"; 

$result = mysql_query($query) or die(mysql_error());

$names = array();    
while($row = mysql_fetch_array($result)){
  $names[] = $row['name'];
}

print_r($names);
于 2012-09-30T03:15:56.120 回答