在mysql数据库中如何让某个字段有重复的只取一条

表table_a 有4条数据

id A B C D
01 ab 1a2 1b2 121
02 ab 2a3 3b3 4a1
03 ac 1a2 1b2 121
04 ac 2a4 3b2 52g

如何让A字段有重复的只取一条 比如
01 ab 1a2 1b2 121
03 ac 1a2 1b2 121

实现的方法和详细的操作步骤如下:

1、第一步,使用navicat连接到mysql数据库并创建一个新的用户表,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,填写一些测试内容以演示测试结果,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,选择用户名,然后单击鼠标右键以选择“设计表”选项,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,切换到设计表中的“索引”标签,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,开始添加索引。如果不需要索引名称,则默认情况下可以为空。该工具将自动生成与字段名称相同的名称。单击字段后面的按钮以显示选择框,选择需要唯一约束的字段。在这里,登录到名称字段,见下图,转到下面的步骤。

6、第六步,完成上述步骤后,选择“索引类型”选项,唯一约束必须选择“Unique”类型,见下图,转到下面的步骤。

7、第七步,完成上述步骤后,将第三条数据的登录名修改为与第二条数据相同,然后单击下面的复选标记按钮进行保存,见下图,转到下面的步骤。

8、第八步,完成上述步骤后,保存时将报告错误,提示“Duplicate entry 'bb' for key 'login_name'”,重复的登录名无法成功保存,表明添加的唯一约束已生效,见下图。这样,就解决了这个问题了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-05-16
-- 保留相同A值的最小id行

select *
from table_a a

where not exists (
select 1 from table_a b
where b.A = a.A
and b.id < a.id
)本回答被网友采纳
第2个回答  2013-05-13
select * from table_a where id in (select min(id) from table_a group by a)
第3个回答  2015-07-14
我知道oracle有个row_number()函数可以实现某个字段排序,然后取重复的一条,下面的博客链接是mysql实现oracle的row_number()函数功能,看看有没有启发吧。
http://1055592535.iteye.com/blog/1679470
第4个回答  2013-05-13
可以试试distinct

在mysql数据库中如何让某个字段有重复的只取一条?
其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,只有用二重循环查询来解决。给个例子把,比如:表table_a 4条数据id A B C D01 ab 1a2 1b2 12102 ab 2a3 3b3 4a103 ac 1a2 1b2 12104 ac 2a4 3b2 52g何让A字段重复取条 ...

MySQL去重显示消除重复字段mysql不显示重复字段
方法一:使用DISTINCT关键字 在MySQL中,要消除重复字段,可以使用DISTINCT关键字。DISTINCT关键字用于去重显示相同的记录,例如:SELECT DISTINCT column1, column2, …, columnn FROM table_name;其中,column1、column2等是要查询的字段名称,table_name是要查询的表名。使用DISTINCT关键字可以查询出...

在mysql数据库中如何让某个字段有重复的只取一条
select top 1 id,name,age from 表 order by age desc按照年龄倒序排序,然后取第一条。考虑可能有多人年龄相同,如果都需取出,可以这样写:select id,name,age from 表 where age=(select max(age) from 表)

MySQL去重如何在数据库中去掉相同的数据mysql中去掉相同部分
一、使用DISTINCT关键字进行去重 在MySQL中,DISTINCT关键字可以用来去重。它的作用是去掉查询结果中相同的记录,只保留不同的记录。使用DISTINCT关键字进行去重的语法如下:SELECT DISTINCT column1, column2, … FROM table_name;其中,column1, column2, …是要去重的列,table_name是表名。

如何使用MySQL实现一列数据的去重mysql一列去重复
方法一:使用DISTINCT DISTINCT是MySQL中用于去重的非常实用的关键字,它可以用于查询语句中,可以去除结果集中重复的记录。该方法使用起来非常方便,只需在SELECT语句中添加DISTINCT关键字即可。例如,要查询students表中的所有学生姓名,可以使用以下语句:SELECT DISTINCT name FROM students;该语句会返回一个...

求MYSQL中某字段内的重复数据以及删除重复保留一条
(select id from (select id from tbl_vod group by d_name having count(d_name)>1) as a)mysql不支持在同一个表查询之后,做修改、删除操作。删除的思路是,1、select id from tbl_vod group by d_name having count(d_name)>1 找到需要保留的id 2、 select id from (select id from...

如何在MySQL中去除重复数据mysql不显示重复
这个方法使用两个嵌套的SELECT语句,首先我们查询出所有重复的记录,然后在DELETE语句中删除这些记录。这个方法不会改变表的结构,但却可以更彻底地去除重复数据。4.使用UNIQUE索引 索引是MySQL中一种用于提高查询效率的数据结构。我们可以使用UNIQUE索引来限制表中某一列的值必须唯一,从而实现去重的效果。例如...

Mysql数据库中多条重复数据,如何只删除一条?
这个需要分情况。1,你的数据库表中有主键,且主键上面的数据为唯一值。也就是没有重复值。那么你在删除的时候,将这个唯一值作为条件进行删除。如:delete from [表名]where id=1 2.所有的数据相同,那么你只能打开数据表,手工选定其中某一条,进行删除。

mysql去重distinct
mysql中的distinct的主要作用其实就是对数据库表中一个或是多个字段重复的数据进行过滤,并且只会返回其中的一条数据给用户,需要注意的是,distinct一般只能够在select中使用。distinct的使用语法:select distinct expression[,expression...] from tables [where conditions]说明:在使用distinct时还是有需要...

mysql如何去除两个字段数据相同的记录
MySQL查询重复字段,及删除重复记录的方法 数据库中有个大表,需要查找其中的名字有重复的记录id,以便比较。如果仅仅是查找数据库中name不重复的字段,很容易:SELECT min(`id`),`name` FROM `table` GROUP BY `name`;但是这样并不能得到说有重复字段的id值。(只得到了最小的一个id值)查询哪些...

相似回答