怎么利用SQL语句查询数据库中具体某个字段的重复行

 我来答
badkano
推荐于2017-10-01 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部

可用group by……having来实现。

可做如下测试:

1、创建表插入数据:

create table test
(id int,
name varchar(10))

insert into test values (1,'张三')
insert into test values (2,'李四')
insert into test values (3,'张三')
insert into test values (4,'王五')
insert into test values (5,'赵六')

其中name是张三的有两行,也就是重复行。

2、执行sql语句如下:

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

结果如图:

zbf15879742210
2010-05-11
知道答主
回答量:22
采纳率:0%
帮助的人:19.5万
展开全部
假设有张基础表 EMP 里面有sal,id,ename 等等 然后要查工资sal 都是3000的雇员信息 可以这样写:
select id,ename,sal from emp group by sal having count(sal)>1;
就能查出工资sal字段 重复的所有职员信息了!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迷宫骑士
推荐于2017-09-02 · TA获得超过140个赞
知道答主
回答量:33
采纳率:0%
帮助的人:20.4万
展开全部
我一般用这个:
假设怀疑重复的字段名为SeriNo,

select * from [tablename]
group by SeriNo
having count(SeriNo)<>1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oMi鴕佛
2010-05-10 · TA获得超过103个赞
知道答主
回答量:28
采纳率:0%
帮助的人:6.7万
展开全部
select count(1) as 出现次数,setname,setnum from table_name
where datediff(DAY,subtime,getdate())<=30
group by setname,setnum having count(1)>1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jobiner
2010-05-10 · TA获得超过158个赞
知道答主
回答量:173
采纳率:0%
帮助的人:143万
展开全部
select * from tabel1 where filed01 in (select filed01 fromtabel1
group by filed01
having count(filed01 )>1)

filed01 为有重复字段的列
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式