怎么查看数据库表中某个字段的值有哪些重复记录

如题:
表A中包含a b c 三个字段,共有10行记录,怎么查询10行记录中字段b的值是否有重复。 重复的记录分别是哪几行?

下面以 sqlserver数据库为例进行说明。

select * from TableA where b in (select  b from  TableA group  by  b having  count(b) > 1)

这样就列举出了b字段所有的重复数据,可以根据对应的行号,取得位于第几行。

如果要查询a字段或者c字段重复数据,可以相应的把上面的b字段替换成a字段或c字段即可。

举例:

1、创建表student

2、查询语句: select * from student where name in (select  name from  student group  by  name   having  count(name ) > 1)

这样就查出名字重复列,以及行号id。

扩展资料:

1. sqlserver其他相关的一些查询:

(1)删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people where peopleId in 

(select   peopleId from people group by   peopleId   having count(peopleId) > 1) and 

rowid not in (select min(rowid) from   people group by peopleId having count(peopleId)>1)

(2)查找表中多余的重复记录(多个字段) 

select * from vitae a where (a.peopleId,a.seq) in  

(select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

(3)查找表中多余的重复记录(多个字段),不包含rowid最小的记录

select * from vitae a where (a.peopleId,a.seq)  in  

(select peopleId,seq from vitae group by peopleId,seq havingcount(*) > 1) and 

rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

2. SQL语言元素

1、子句,是语句和查询的组成部分。

2、表达式,可以生成标量值,也可以生成由列和行数据组成的表。

3、谓词,指定可以评估为SQL三值逻辑(3VL)(真/假/未知)或布尔真值的条件,用于限制语句和查询的效果,或用于更改程序流。

4、查询,根据特定条件检索数据。这是SQL的一个重要元素。

语句可能对架构和数据产生持久影响,或者可能控制事务,程序流,连接,会话或诊断。

SQL语句还包括分号(“;”)语句终止符。虽然并非每个平台都需要,但它被定义为SQL语法的标准部分。在SQL语句和查询中通常会忽略无关紧要的空格,从而可以更轻松地格式化SQL代码以提高可读性。

参考资料:百度百科-SQL语法



温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-01

查看可用如下方法:

1、创建测试表,插入数据:

create table product
(id int,
name varchar(10),
totol int)

insert into product values (1,'香蕉',100)
insert into product values (2,'橘子',67)
insert into product values (3,'葡萄',89)
insert into product values (4,'苹果',235)
insert into product values (5,'香蕉',77)
insert into product values (6,'芒果',34)
insert into product values (7,'葡萄',78)
insert into product values (8,'梨',24)

表中数据如:

2、如果查询name列有重复的数据,可执行sql语句:

select * from product where name in (select name from product group by name having COUNT(*)>1)

说明:查询的结果就是香蕉和葡萄在表中是有重复的,要把香蕉和葡萄的所有记录都查询出来,结果如图:

第2个回答  2019-06-04
如果xin表的ID是自增列,则insert
into
xin(ENAME,
SNAME,
NEWNUM)select
MIN(ENAME)
AS
ENAME,
SNAME,
count(*)
AS
NEWNUM
from
jie
group
by
SNAME只要在asp代码中执行这个sql语句就可以了
第3个回答  2009-08-26
select * from 表 where b in (select b from 表 group by b having count(*)>1)

以上,希望对你有所帮助!本回答被提问者采纳
相似回答