SQL语句查数据库语句中某一列是否有重复项

博客访问: 7446
博文数量: 8
注册时间:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
最近参加了两个面试,其中都有问到如何查找表中一列里面相同的数据,看来这个问题出现的概率还挺高。 & 最简单的方法是使用分组函数,分组后统计相同数据的个数:
& 例如:查找表A中name列的相同数据
& select name & from A & group name & having count(name)>1;
阅读(1858) | 评论(0) | 转发(0) |
上一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。查询重复或不重复记录SQL语句 - 独孤依人 - ITeye技术网站
博客分类:
1.如何用SQL语句把一个表里面某字段内有相同的记录查询出来
现在有一个表 有三列 分别是tel,name,addr
我现在要查询name一样的
具体T-SQL语句要怎么写 求助
就是name这个列有很多记录在数据库里面 这些人有很多哈 就是如何把这些同名同姓的记录找出来
只显示name
select name from tb group by name having count(*) & 1
显示所有数据
select * from name in (select name from tb group by name having count(*) & 1)
2.T1表有F1,F2,F3字段 T2表有F1,F4字段 查出T1表里所有有重复的记录,如下
select * from T1 where F1 in(select F1 from T1 group by F1,F2,F3 having count(*)&1)
3.怎样用SQL语句在一个表里找出具有两个相同属性的记录?
悬赏分:5 - 解决时间: 17:11
比如说这个表里有属性:姓名,学号,专业,籍贯等。那我现在要找出专业和籍贯都相同的学生记录。如何用SQL语句实现?
假设相同的专业名为A,籍贯名为B,表名为TAB
问题补充:不好意思,忘了说一个条件。
就是事先不知道有哪些记录里的专业和籍贯是相同的,A和B是未知的,即有可能A和B有多种取值情况,而现在要全部把它们查找出来。
不是专业=籍贯,而是不同的记录中专业相同AND籍贯相同的,比如说专业都是计算机的,籍贯都是福建福州的;或者专业都是数学的,籍贯都是福建厦门的。
select 专业,籍贯 , count(*) from tab
group by 专业,籍贯
是专业,籍贯相同的学生记录数
select 专业,籍贯 , count(*) from tab
group by 专业,籍贯 having count(*)&1
是专业,籍贯相同的学生记录数&1条的
select 姓名,学号 , 专业,籍贯 from tab
order by 专业,籍贯
若你想查某个专业 如 A 和籍贯 如 B的话,
select * from TAB where 专业='A'and 籍贯='B'
例如有如下表结构和值
方案一:distinct
select distinct name from table
得到结果:
实现效果,那如果要同时打开其它记录呢?再试试
select distinct name,id from table
测试没什么效果,查下得知,这样实际是要name和id字段都重复才被筛选。继续查找可得如下方法:
方案二:group by
select *, count(distinct name) from table group by name
Oracle下测试失败,据说MYSQL下通过,不管,继续思考....
select *, count(distinct name) from table group by name 在MYSQL测试失败
翻翻书,试试
select min(fid),name,sex from table group by name
成功,现实如下结果:
MYSQL测试,没有效果
继续思考,如果要打开所有记录,不指定字段用(*),貌似这方法就不行了!
select * from table where fid in(Select min(fid) FROM table group by name)
本来已经完了,突然想起前几天在网上查了查询数据中所有某字段重复的记录
name in(select
count(name)=2)
得到如下结果:
以此类推:
name in(select
count(name)=1)
按道理说没问题,大家试试~~
再多的字段都全部现实。哎,原来如此简单!回顾网上方法distinct,Inner
Join等等,麻烦,而且有很大局限性.
总结如下:
select distinct name from table打开重复记录的单个字段
select * from table where fid in(Select min(fid) FROM table group by name)打开重复记录的所有字段值
name in(select
count(name)=1)打开重复任意次数的所有记录
Sql Server里面如果没有设定主键而删除重复数据很麻烦:
一:保留重复记录中的一条记录,其他全部删除。
--1:建立临时表,把不重复的数据转存
select distinct * into #Tmp from 表名;
--2:删除原表数据
truncate table 表名;
--3:将数据导回
insert into 表名 select * from #T
--4:删除临时表
drop table #T
******************
如果是oracle的话,把 rowid 查出来,按照rowid删除就可以了。
select rowid,表名.* from 表名;
delete from 表名 where rowid != '刚才查询出的某个值'
******************
select post_content,post_title from wp_posts group by post_content,post_title having count(*)&1
先看看有多少重复的
假设你表中还有id的一个字段
select min(id),post_content,post_title from wp_posts group by post_content,post_title
这些选出来后你看看这些是否可以不删除
delete from wp_posts where id not in (select min(id) from wp_posts group by post_content,post_title)
浏览 18620
duguyiren3476
浏览: 175850 次
来自: 北京
为什么我查出来的hbase数据都是base64编码的? 我保存 ...
不错,谢谢!
确实不怎么快,httpfs的上传你可以理解为普通的httpup ...
你好,能问一个问题吗,我最近页也试用了一下httpfs,发现一 ...
请教几个问题:1.第7步,你把hbase 0.92放在nutc ...查看: 4171|回复: 6
新手求助:如何查找并显示出一个表中某一字段重复的记录
论坛徽章:0
我有一个表:cccn_cccb_sql
其中的一个字段是:net_cn
我分别用两个语句对这个字段进行统计,详细过程如下:
select count(net_cn) from cccn_cccb_sql 得到的记录是8882
select count(distinct net_cn) from cccn_cccb_sql 得到的记录是7754
我想请教高手:
用什么语句能查出并显示出这个字段中重复的记录呢?谢谢了
论坛徽章:87
select net_cn,count(net_cn) from cccn_cccb_sql group by net_cn having count(net_ct)&=1
论坛徽章:0
谢谢您,能否解释一下这个语句的意思吗?为什么用group by呢?不好意思,我刚刚接触oracle,谢谢
论坛徽章:0
select net_cn from cccn_cccb_sql where rowid not in (select max(rowid) from&&cccn_cccb_sql )
论坛徽章:0
如果表数据量不多可以用:
select * from table_name t1 where t1.rowid!=
(select max(rowid) from table_name t2
where t1.column=t2.column)
如果数据量比较大,
论坛徽章:0
多谢各位前辈指教。
论坛徽章:0
select net_cn from cccn_cccb_sql where rowid not in (select max(rowid) from cccn_cccb_sql&&where net_cn is not null group by net_cn)
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号查看: 6250|回复: 14
有没有人知道sql数据库中取某字段重复记录数的语句?
阅读权限30
在线时间 小时
结帖率: (8/10)
有没有人知道sql数据库中取某字段重复记录数的语句?
你不就是要得到重复的记录数量吗?
如果是要得到所有重复的记录,只要把COUNT去掉就可以了
select * from 表名 where 字段名 in (select
count(字段名) > 1)
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限255
在线时间 小时
签到天数: 2 天结帖率: (1/1)
格格爸爸 发表于
结果得到的数量是全部记录数。。。
你不就是要得到重复的记录数量吗?
如果是要得到所有重复的记录,只要把COUNT去掉就可以了
select * from 表名 where 字段名 in (select&&字段名&&from&&表名&&group&&by&&字段名&&having&&count(字段名) & 1)
您可以选择打赏方式支持他
阅读权限255
在线时间 小时
签到天数: 2 天结帖率: (1/1)
select count(*) from 表名 where 字段名 in (select&&字段名&&from&&表名&&group&&by&&字段名&&having&&count(字段名) & 1)
ACCESS数据库通过,SQL没有测试
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
我试了一下,结果取的是全部记录数量。。老师再帮忙看一下吧
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
.版本 2
.支持库 spec
& & 记录集 = 外部数据库1.查询 (“select count(*) from 车辆信息 where 部门 in (select 部门 from 车辆信息 group by 部门 having count(部门)& 1)”)
& & 调试输出 (外部数据库1.读 (记录集, 1))
复制代码结果得到的数量是全部记录数。。。
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
我想得到的是重复的数量。可是用select count(*) from 车辆信息 where 部门 in (select 部门 from 车辆信息 group by 部门 having count(部门)& 1)”)& &查到的数不对,老师你再帮我看看吧。这个问题困扰我好久了。是mssql数据库
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
部门& &数量
a& && && &1
a& && && &1
a& && && &1
b& && && &1
b& && && &1
重复的应该只有2条记录。用刚才的语句,得到的是5
怎么样才能得到2呢
补充内容 ( 14:29):
我根本就是只查的&部门&这个字段啊。
补充内容 ( 14:30):
数量这个字段不管重复的是多少,可是部门只重复了2个啊
你的字段信息从哪得到重复的是2,如果从字段“数量”来看,确实是5个都重复了嘛&
你的例子本来就是5条都是重复的&
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
老师们帮帮忙吧
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
部门& &数量
a& && && &1
a& && && &1
a& && && &1
b& && && &1
b& && && &1
重复的应该只有2条记录。用刚才的语句,得到的是5
怎么样才能得到2呢
点评孤心人&&你的字段信息从哪得到重复的是2,如果从字段“数量”来看,确实是5个都重复了嘛&&发表于 半小时前
锦绣明天&&你的例子本来就是5条都是重复的&&发表于 1 小时前
补充内容 ( 14:29):
我根本就是只查的&部门&这个字段啊。
补充内容 ( 14:30):
数量这个字段不管重复的是多少,可是部门只重复了2个啊
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (8/10)
select count(*) from 车辆信息 where 部门 in (select 部门 from 车辆信息 group by 部门 having count(部门)& 1)”)& &
我又没有查数量这个字段
您可以选择打赏方式支持他
精易论坛 - 有你更精彩 /1
post班正在招收学员中!app班正在招收学员中!!
要报名学习的学员们抓紧抓紧了哈!!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
Powered by3632人阅读
数据库&hibernate(17)
select f.* from functiontree f where f.fcode in (select f.fcode from functiontree f group by f.fcode having count(f.fcode) & 1)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:285539次
积分:3777
积分:3777
排名:第6471名
原创:97篇
转载:28篇
评论:25条
(2)(1)(3)(2)(2)(1)(5)(1)(2)(2)(2)(1)(6)(1)(1)(1)(3)(2)(2)(5)(8)(1)(2)(1)(1)(4)(3)(12)(2)(1)(2)(2)(4)(5)(3)(4)(4)(1)(5)(5)(1)(8)(1)

我要回帖

更多关于 数据库insert语句 的文章

 

随机推荐