zoukankan      html  css  js  c++  java
  • 面试查找重复列

    代码
     1 查找重复列:
     2 
     3 select * from ysgg where number in(select number from ysgg group by number having count(number)>1);
     4 
     5  
     6 
     7 删除重复列:
     8 
     9 delete from ysgg where number in (select min(number) from ysgg group by number having count(number)>1);
    10 
    代码
    表stuinfo,有三个字段recno(自增),stuid,stuname
      
      建该表的Sql语句如下:
      
      Create TABLE [StuInfo] (
       [recno] [
    int] IDENTITY (11) 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
      )

  • 相关阅读:
    处理器及其调度
    java面向对象
    操作系统概述
    mysql 基础操作
    java集合类详解
    java数组
    java方法
    Python—进程间通信
    Python—TCP的黏包问题以及UDP的分片问题
    Python—网络通信编程之tcp非阻塞通信(socketserver)
  • 原文地址:https://www.cnblogs.com/NetSos/p/1808052.html
Copyright © 2011-2022 走看看