首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从表中查找重复行/记录

从表中查找重复行/记录
EN

Stack Overflow用户
提问于 2013-07-20 13:17:58
回答 3查看 935关注 0票数 1

这是我的桌子结构

Im尝试运行查询

代码语言:javascript
运行
复制
$sql = mysql_query("SELECT content,niche, COUNT(content) TotalCount FROM table_name GROUP by content HAVING COUNT(content)>=2");

我想是给我重述结果,但在用php列出结果和使删除按钮删除重复行时有问题。

Im在php中获得结果

内容ID -生态位ID - TotalCount

208 -2-2

210 - 32 -3

但结果应该是

内容ID -生态位ID - TotalCount

208 -2-2

208 -2-2

210 - 32 -3

210 - 32 -3

210 - 32 -3

im使用php尝试结果显示

代码语言:javascript
运行
复制
while($row = mysql_fetch_assoc($sql)) {            
    $array[] = $row;
}
foreach($array as $row) {
    echo $row['content']." - ".$row['niche']." - ".$row['TotalCount']."<br>";
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-20 13:33:48

我认为这就是你想要的,所有重复的行(用row_id),以及它们被复制了多少次;

代码语言:javascript
运行
复制
SELECT a.row_id, a.content, a.niche, cnt
FROM table_name a
JOIN (
  SELECT MIN(row_id) m, COUNT(*) cnt, niche,content
  FROM table_name
  GROUP BY content,niche
  HAVING COUNT(*)>1
) b
  ON a.niche=b.niche
 AND a.content=b.content

一个要测试的SQLfiddle

票数 1
EN

Stack Overflow用户

发布于 2013-07-20 13:25:38

GROUP BY会将结果折叠到您要分组的字段上,在本例中是content --因此您只能看到两个结果。

如果要保留GROUP BY技术,还可以使用GROUP_CONCAT(niche)为给定的content值提取每个niche的逗号分隔列表:

代码语言:javascript
运行
复制
SELECT
    content,
    GROUP_CONCAT(niche) AS niche,
    COUNT(content) TotalCount
FROM
    table_name
GROUP BY
    content
HAVING
    COUNT(content)>=2;

然后,您可以使用PHP的explode(',', $row['niche'])获取每个不同的值,然后使用这些值来确定要删除哪个值。

代码语言:javascript
运行
复制
foreach($array as $row) {
    $niches = explode(',', $row['niche']);
    foreach ($niches as $niche) {
        echo $row['content'] . " - " . $niche . " - " . $row['TotalCount'] . "<br />";
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-07-20 13:25:48

在sql中进行以下更改:

代码语言:javascript
运行
复制
$sql = mysql_query("SELECT content,niche, COUNT(content) TotalCount FROM table_name HAVING COUNT(content)>=2");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17762663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档