02/10/2018, 00:23

[SQLSERVER] Hướng dẫn truy vấn chỉ lấy một dòng dữ liệu khi dữ liệu trùng nhau

Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách filter lọc những dữ liệu trùng nhau , và chỉ lấy ra một dòng duy nhất trong Sql server. Các bạn có thể xem ví dụ ở dưới đây Ví dụ: mình có một bảng table database như bên dưới: ...

Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách filter lọc những dữ liệu trùng nhau, và chỉ lấy ra một dòng duy nhất trong Sql server. 

Các bạn có thể xem ví dụ ở dưới đây

Ví dụ: mình có một bảng table database như bên dưới:

==========================================
|  id       |       email        | name
==========================================
|   1       |  123@test.com      | John
|   2       |  234@test.com      | Peter
|   3       |  234@test.com      | Steward
|   4       |  123@test.com      | Ethan
|   5       |  542@test.com      | Bob
|   6       |  123@test.com      | Patrick
==========================================

- Các bạn có thấy email nó giống nhau và yêu cầu là mình muốn filter lại như kết quả dưới đây:

==========================================
|  id       |       email        | name
==========================================
|   3       |  234@test.com      | Steward
|   5       |  542@test.com      | Bob
|   6       |  123@test.com      | Patrick
==========================================

Để giải quyết vấn đề trên các bạn thực hiện câu lệnh sql sau:

 SELECT * FROM test.test1  WHERE id IN (
  SELECT MAX(id) FROM test.test1 GROUP BY email
);

=> Kết quả

lọc trùng dữ liệu sqlserver

Chúc các bạn thành công!

Tags:
0