首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否计算Mysql表中的重复记录?

是否计算Mysql表中的重复记录?
EN

Stack Overflow用户
提问于 2012-09-21 18:19:37
回答 7查看 63.4K关注 0票数 26

我有桌子,下面的结构。

待定

代码语言:javascript
复制
id   name  
1    AAA
2    BBB
3    BBB
4    BBB
5    AAA
6    CCC

select count(name) c from tbl
group by name having c >1

返回以下结果的查询:

代码语言:javascript
复制
AAA(2)  duplicate
BBB(3)  duplicate
CCC(1)  not duplicate

重复的名字是AAA和BBB。最终结果,我想要的是此重复记录的计数。

结果应如下所示:重复产品总数(2)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-09-21 18:24:16

方法是使用一个每个重复一行的嵌套查询和一个仅返回内部查询结果计数的外部查询。

代码语言:javascript
复制
SELECT count(*) AS duplicate_count
FROM (
 SELECT name FROM tbl
 GROUP BY name HAVING COUNT(name) > 1
) AS t
票数 45
EN

Stack Overflow用户

发布于 2012-09-21 18:29:55

使用IF语句获取所需的输出:

代码语言:javascript
复制
SELECT name, COUNT(*) AS times, IF (COUNT(*)>1,"duplicated", "not duplicated") AS duplicated FROM <MY_TABLE> GROUP BY name

输出:

代码语言:javascript
复制
AAA 2 duplicated
BBB 3 duplicated
CCC 1 not duplicated
票数 12
EN

Stack Overflow用户

发布于 2016-02-22 18:25:21

列表的

代码语言:javascript
复制
SELECT COUNT(`name`) AS adet, name
FROM  `tbl` WHERE `status`=1 GROUP BY `name`
ORDER BY `adet`  DESC

总计数的

代码语言:javascript
复制
    SELECT COUNT(*) AS Total
    FROM (SELECT COUNT(name) AS cou FROM tbl GROUP BY name HAVING cou>1 ) AS virtual_tbl 

//总数:5

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12528644

复制
相关文章

相似问题

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