SQL Server中删除重复记录的SQL语句
Jun 07, 2016 pm 05:49 PM本文章来详细的给各位朋友来介绍SQL Server中删除重复记录的SQL语句方法总结,一般情况下,我们会有两种情况的删除操作,一种是完全重复的记录,所有字段都重复的情况,另一种是部分关键字段重复的记录,其他字段不重复,或重复但可以忽略。
方法:
代码如下 | 复制代码 |
distinct * into #tmp from tablename drop table tablename select * into tablename from #tmp drop table # tmp |
常有时候遇到需要删除SQL Server中的重复记录,这里有一些常用的删除重复记录的SQL,
最常用的 T-SQL 语句:
代码如下 | 复制代码 |
DELETE FROM [dbo].[myTable] WHERE 主键 NOT IN WITH tmpOrderdTable |
为了提高效率可以先开启单人存取模式,删除完再恢复多人存取模式:
# 开启单人存取模式
USE [master] USE [master]
代码如下
复制代码
ALTER DATABASE [myDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
# 开启多人存取模式
ALTER DATABASE [myDB] SET MULTI_USER WITH ROLLBACK IMMEDIATERelated Posts
SQL存储过程删除
代码如下 | 复制代码 |
|
A:保留id最大的行,删除其它行
方法1
代码如下 | 复制代码 |
delete [user] from [user] t |
B:保留id最小的行,删除其它行
方法1
代码如下 | 复制代码 |
delete [user] from [user] t inner join(select name,min(id) as id from [user] group by name) a on t.name = a.name and t.id a.id |

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)?
