个性化阅读
专注于IT技术分析

如何在表中打印重复的行?

让我们考虑下表。

NAME SECTION
abc CS1
bcd CS2
abc CS1

在上表中, 我们可以使用以下查询找到重复的行。

SELECT name, section FROM tbl
GROUP BY name, section
HAVING COUNT(*) > 1

另一个例子:

给定一个名为PERSON的表, 任务是编写一个SQL查询以查找表中所有重复的名称。

范例:

+----+---------+
| Id | NAME    |
+----+---------+
| 1  | Geeks   |
| 2  | for     |
| 3  | Geeks   |
+----+---------+

Output :
+---------+
| NAME    |
+---------+
| Geeks   |
+---------+

简单的方法是制作一个临时表, 其中包含表中所有名称的计数。

重复的NAME存在多次, 因此要计算每个NAME存在的次数, 我们可以使用以下代码:

select NAME, count(NAME) as num
from Person
group by NAME;
| NAME    | num |
|---------|-----|
| Geeks   | 2   |
| for     | 1   |

这是一个临时表, 我们可以在其上运行以下代码来获取重复的NAME。

select NAME from
(
  select NAME, count(NAME) as num
  from Person
  group by NAME
) as statistic
where num > 1;

的最好的方法用于通过…分组和拥有健康)状况。它比以前更有效, 更快。

MySql的:

select NAME
from Person
group by NAME
having count(NAME) > 1;

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

赞(0) 打赏
未经允许不得转载:srcmini » 如何在表中打印重复的行?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏