首页 > 数据库 >SQL Server数据库多种方式查找重复记录

SQL Server数据库多种方式查找重复记录

时间:2023-10-15 17:05:46浏览次数:40  
标签:stuname 记录 重复 recno Server SQL 重复记录 stuid select

示例:表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

标签:stuname,记录,重复,recno,Server,SQL,重复记录,stuid,select
From: https://blog.51cto.com/u_14682436/7872623

相关文章

  • MySQL事务隔离级别详解及应用指南
    MySQL作为关系型数据库管理系统,对于多个并发事务之间的隔离和并发控制是必不可少的。在MySQL中,提供了四种事务隔离级别,分别是:读未提交、读已提交、可重复读和串行化。读未提交在该隔离级别下,一个事务可以读取另一个并发事务未提交的数据,可能会出现“脏读”问题,即读到了未经授权的数......
  • Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间
    场景SpringBoot+Mybatis+定时任务实现大数据量数据分表记录和查询:SpringBoot+Mybatis+定时任务实现大数据量数据分表记录和查询_mybatis定时任务创建日表_霸道流氓气质的博客通过以上分表实现的同结构不同表名之间的表,如何将一个表中的数据复制到另一个表中,且将日期字段进行同样的......
  • nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
    升级后,运行显示项目的时候出现下面错误2023-08-1210:57:39.174[http-nio-8080-exec-3][1;31mERROR[0;39m[36morg.jeecg.common.aspect.DictAspect:104[0;39m-json解析失败Java8date/timetype`java.time.LocalDateTime`notsupportedbydefault:addModule"com.faster......
  • nbcio-boot升级到3.1后出现online表单新增报错       nbcio-boot升级springboot、
        nbcio-boot升级springboot、mybatis-plus和JSQLParser后出现新增online表单的时候报错,如下: 2023-08-1321:18:01.292[http-nio-8080-exec-12][1;31mERROR[0;39m[36mo.jeecg.common.exception.JeecgBootExceptionHandler:69[0;39m-Handlerdispatchfailed;neste......
  • SQL查询小工具
    importtkinterastkimportsqlite3defcompare_sql():#从文本框获取输入的SQL语句sql=sql_entry.get("1.0",tk.END).strip()#连接数据库conn=sqlite3.connect("your_database.db")cursor=conn.cursor()try:......
  • 升级Lync Server 2013到Skype for Business 2019(十一)
    写在前面本章将介绍如何将LyncServer2013旧有边缘服务,切换到新的SkypeforBusiness2019边缘服务器上。切换SkypeforBusiness2019服务器添加SkypeforBusiness2019服务器公网DNS。这些DNS主要包括如下内容:项目DNS配置类型IP外部访问access.contoso.comA公网IP地址外部Web会......
  • docker安装sqlserver2019
    1.拉取镜像dockerpullmcr.microsoft.com/mssql/server:2019-latest2.执行dockerrun命令: dockerrun--namesqlserver-wangmj--hostnamesqlserver-master\-p1434:1433\-e'ACCEPT_EULA=Y'\-e'SA_PASSWORD=sdfasdfasdfsdf?'......
  • MySQL错误:check the manual that corresponds to your MySQL server version for the
    在MySQL执行以下SQL报错DELIMITER//CREATEPROCEDUREgenerate_and_insert_data()BEGINDECLAREiINTDEFAULT1;DECLAREjINTDEFAULT1;DECLAREtotal_iterationsINTDEFAULT1000;WHILEi<=total_iterationsDO--创建临时表用于存储生成......
  • Mysql中mvcc实现原理
    Mysql中mvcc实现原理今天我们简单来介绍一下mvcc的实现原理。官方文档的链接也贴在这里官方文档mvcc全称Multi-VersionConcurrencyControl,多版本并发控制,顾名思义是维持了数据库中数据的多版本;这个机制主要是为了服务事务隔离级别中的READCOMMITTED和REPATEABLEREAD两种隔......
  • 了解 MySQL 数据库的三大日志(redo log、undo log、binary log)
    前言MySQL中有以下几种日志,包括:redolog(重做日志)undolog(回滚日志)binarylog(二进制日志)errorlog(错误日志)slowquerylog(慢查询日志)generallog(一般查询日志)relaylog(中继日志)事务的特性:原子性(Atomicity):事务是最小的执行单位,不允许分割。事务的原子......