深圳万博培训
     新闻动态
媒体报导
学习园地
     国家软考培训系列
  网络规划师(高级)
  网络工程师(中级职称)
  系统集成项目管理师(中)
  信息系统项目师(高级)
  网络管理员(初级)
  电子商务技术员(初级)
  信息处理技术员(初级)
  程序员(初级职称)
  数据库系统工程师(中)
  电子商务设计师(中级)
  软件设计师(中级)
     OFFICE培训系列
  Excel数据管理高级应用
  Excel 2007 Vba 编程
  excel数据管理提高班
  OutLook2003高级应用
  PPT2003高级应用
  Office 2007 新体验
  Project2007培训
  Visio2003图形设计
  ACCESS 2003 设计开发
  精美PPT2007(初级)
  精美PPT2007(高级)
  制作精美Word文档高级
     数据库培训
  SQL server 2005数据库
  SQL2000数据库
  Oracle 10g数据库
     1+6网络工程师
  1+6网络工程师
     网络技术(单科)
  局域网组建和维护
  企业网网络安全
  LINUX网络服务和管理
  Windows2003服务器
  Cisco CCNA 认证
     网站运营工程师
  企业级SEO实战培训
  精美网页图像处理课程
  网络推广培训课程
  dreamweaverCS3网页设计
  营销型网站建设实战
  网页设计
  photoshopCS3图像处理
  PHP培训课程
  Flash应用与设计
     招生咨询服务
  电话:0755-22205758
     0755-82124110
 

使用SQL查询重复列记录


2009年10月25日 作者: 来源:

表stuinfo,有三个字段recno(自增),stuid,stuname
  
  建该表的Sql语句如下:
  
  Create TABLE [StuInfo] (
   [recno] [int] IDENTITY (1, 1) NOT NULL ,
   [stuid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
   [stuname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
  ) ON [PRIMARY]
  GO
  
  1.--查某一列(或多列)的重复值(只能查出重复记录的值,不能整个记录的信息)
  --如:查找stuid,stuname重复的记录
  select stuid,stuname from stuinfo
  group by stuid,stuname
  having(count(*))>1
  
  2.--查某一列有重复值的记录(这种方法查出的是所有重复的记录,也就是说如果有两条记录重复的,就查出两条)
  --如:查找stuid重复的记录
  select * from stuinfo
  where stuid in (
  select stuid from stuinfo
  group by stuid
  having(count(*))>1
  )
  
  3.--查某一列有重复值的记录(只显示多余的记录,也就是说如果有三条记录重复的,就显示两条)
  --这种方成绩的前提是:需有一个不重复的列,本例中的是recno
  --如:查找stuid重复的记录
  select * from stuinfo s1
  where recno not in (
  select max(recno) from stuinfo s2
  where s1.stuid=s2.stuid
  )


阅读:1084 上一则:2009下半年网络规划设计师上午试卷、标准答案及分析Ⅲ 下一则:Excel快速上手小技巧

返回前页 返回顶部
地址:深圳笋岗东路3002号万通大厦1311室(帝豪酒店站下) 热线:0755-22205758(福田、南山) 0755-82124110(罗湖、龙岗)
客服信箱:shizgqh16@163.com 统计报告   版权所有:深圳万博计算机教育  粤ICP备11006947号-1
 
欢迎咨询!
您好!我是吴老师,很高兴为您在线答疑!
深圳万博吴老师
您好!我是史老师,很高兴为您在线答疑!
深圳万博史老师