TIN VẮN:

Xóa các dòng trùng nhau trong SQL

28/05/2012 09:14:09 AM         

 Vấn đề:Trong rất nhiều trường hợp, chúng ta gặp một vấn đề nhỏ nhưng không nhỏ đó là các dòng trùng nhau trong một bảng. Vậy làm thế nào để xóa các dòng trùng nhau này.


Giải pháp: 
Tạo bảng và insert vào bảng theo ví dụ sau:

if OBJECT_ID(''MailList'') is not null drop table MailList
 
go
 
create table MailList
 
(
id int identity not null,
mail_add varchar(100) not null,
      Name Nvarchar(50) default ('''') not null,
)
 
go
insert MailList (mail_add, Name)
      values
      (''mailA@gmail.com'', ''Nguyen van A''),
      (''mailB@gmail.com'', ''Nguyen van B''),
      (''mailA@gmail.com'', ''Nguyen Van A'')
     
    
Cột mail_add có hai mail trùng nhau đều là mailA. Để xóa bớt một dòng, dùng câu lệnh sau:


delete from MailList
      where id not in (select MAX(ID) from MailList group by mail_add)
 
Posted by sql-note
Chung nhan Tin Nhiem Mang
Bản quyền ©2011 thuộc về Trung tâm Chuyển đổi số tỉnh Quảng Ngãi
Địa chỉ: 118 Hùng Vương, thành phố Quảng Ngãi, tỉnh Quảng Ngãi.
Điện thoại: Hỗ trợ chữ ký số: 0255 3828022  - Trung tâm Dữ liệu tỉnh: 02553 847768  - Hỗ trợ kỹ thuật: 0255 3 718 167 - Giám đốc: Di động: 0941.121.279 - Zalo: 0941.121.279
Email: trungtam-stttt@quangngai.gov.vn Website: nuian.vn
Số giấy phép: 02/GP-TTĐT cấp ngày 30/5/2018 của Sở Thông tin và Truyền thông Quảng Ngãi
 
THỐNG KÊ TRUY CẬP
  • 199 Đang truy cập:
  • Tổng lượt: