当前位置: 首页 > 编程笔记 >

使用MySQL查找重复项并在一行中显示

邓鸿彩
2023-03-14
本文向大家介绍使用MySQL查找重复项并在一行中显示,包括了使用MySQL查找重复项并在一行中显示的使用技巧和注意事项,需要的朋友参考一下

为此,可以将GROUP_CONCAT()与GROUP BY子句一起使用。两者都用于对连续副本进行分组并在一行中显示。让我们首先创建一个表-

create table DemoTable
(
   StudentFavouriteSubject varchar(40),
   StudentName varchar(40)
) ;

使用插入命令在表中插入一些记录-

insert into DemoTable values('MySQL','Chris');
insert into DemoTable values('MongoDB','Bob');
insert into DemoTable values('MySQL','Sam');
insert into DemoTable values('Java','Mike');
insert into DemoTable values('C','Carol');
insert into DemoTable values('MongoDB','John');

使用select语句显示表中的所有记录-

select *from DemoTable;

这将产生以下输出-

+-------------------------+-------------+
| StudentFavouriteSubject | StudentName |
+-------------------------+-------------+
| MySQL                   | Chris       |
| MongoDB                 | Bob         |
| MySQL                   | Sam         |
| Java                    | Mike        |
| C                       | Carol       |
| MongoDB                 | John        |
+-------------------------+-------------+
6 rows in set (0.00 sec)

以下是查找重复项并单行显示的查询-

select group_concat(StudentName),StudentFavouriteSubject from DemoTable
group by StudentFavouriteSubject;

这将产生以下输出-

+---------------------------+-------------------------+
| group_concat(StudentName) | StudentFavouriteSubject |
+---------------------------+-------------------------+
| Carol                     | C                       |
| Mike                      | Java                    |
| Bob,John                  | MongoDB                 |
| Chris,Sam                 | MySQL                   |
+---------------------------+-------------------------+
4 rows in set (0.00 sec)
 类似资料:
  • 假设我有一个如下所示的验证表。 在上表中,如果我们观察到场景id 1和3具有相同的验证id 100、101和102。 在这种情况下,我可以说scenario_id=1是scenario_id=3的重复。 我可以得到一个MySql查询来找到这样的重复。 提前谢谢。

  • 我希望在QueryDSL JPA中执行此SQL请求 为了在表中找到重复的行,我应该执行这个请求。但使用QueryDSL,我无法找到编写此代码的方法。 有什么建议吗? 多谢问候,

  • 我有一个带有ID,姓名和地址字段的员工类。如果两个雇员的 ID 和姓名完全相同,则认为他们是一样的。现在我有一个员工列表,现在我的任务是收集重复的员工。 这是我的员工类代码,带有基于id和name字段重写的hascode和equals方法。 现在我有这个代码可以找到重复的员工 这段代码运行良好,并在我的集合中给出了id为1的雇员。 如何使用Java 8 lamda和streams执行相同的操作?在

  • 问题内容: 我有一张很大的桌子,上面有关于用户的以下数据。 我想在ssn等于但名称不等于的表中找到所有可能的重复项 我的尝试是: 问题答案: 在SSN上进行分组应该做到这一点 ~~~~ ..或如果每个ssn有很多行,而只想查找重复的名称) 编辑,糟糕,被误解

  • 我想知道如何实现以下操作:我有两个arraylists,其中的值相互关联。也就是说,同一索引上的arraylists的元素彼此相关。例如:ArrayList1(String ArrayList)=[id1,id2,id3,id2,id2,id1]。ArrayList2(整数ArrayList)=[2,3,2,5,6,3]。 我想创建2个新的arraylists与重复的值不再存在。在上面的例子中,新

  • 问题内容: 我想在MySQL数据库中提取重复记录。这可以通过以下方式完成: 结果是: 我想将其拉出,以使其显示重复的每一行。就像是: 关于如何做到这一点有什么想法?我试图避免做第一个,然后在代码中用第二个查询查找重复项。 问题答案: 关键是重写此查询,以便可以将其用作子查询。