Lọc Dữ Liệu Trùng Với DISTINCT Trong SQL - Freetuts

Đôi khi có những câu truy vấn có kết quả bị trùng lặp thì lúc này ta lại muốn loại bỏ dữ liệu bị trùng đó và chỉ giữ lại một record duy nhất mà thôi. Để làm được việc này thì ta sử dụng lệnh DISTINCT.

test php

banquyen pngBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp lệnh DISTINCT

Trước tiên bạn tham khảo cú pháp như sau:

SELECT DISTINCT column_list FROM table_name

Như vậy ta chỉ cần đặt DISTINCT kế lệnh SELECT.

2. Lệnh DISTINCT lọc dữ liệu bị trùng

DISTINCT có công dụng là xóa đi những dòng dữ liệu trùng nhau và chỉ để lại một dòng duy nhất. Dữ liệu trùng nhau là phải giống ở mọi column, dù khác chỉ 1 column thôi cũng không được gọi là trùng nhau.

Bài viết này được đăng tại [free tuts .net]

Giả sử ta có bảng dữ liệu như sau:

ID NAME AGE ADDRESS SALARY 1 Ramesh 32 Ahmedabad 2000.00 2 Khilan 25 Delhi 1500.00 3 kaushik 23 Kota 2000.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 6 Komal 22 MP 4500.00 7 Muffy 24 Indore 10000.00

Nhìn vào bảng thì ta thấy khóa chính là ID và nó tăng tự động nên chắc chắn là dữ liệu ở mỗi record sẽ không bị trùng. Tuy nhiên bạn hãy xét ví dụ sau đây: hãy lấy danh sách mức tiền của các khách hàng và chỉ trả về mỗi cột SALARY mà thôi. Lúc này rõ ràng dữ liệu sẽ bị trùng.

Câu truy vấn SELECT SALARY FROM CUSTOMERS ORDER BY SALARY

Kết quả SALARY 1500.00 2000.00 2000.00 4500.00 6500.00 8500.00 10000.00

Để giải quyết ta sử dụng DISTINCT như sau:

SELECT DISTINCT SALARY FROM CUSTOMERS ORDER BY SALARY

Kết quả trả về sẽ như sau:

SALARY 1500.00 2000.00 4500.00 6500.00 8500.00 10000.00

Lệnh này tương đối đơn giản nên nội dung cũng không có gì nhiều.

Từ khóa » Hàm Kiểm Tra Trùng Dữ Liệu Trong Sql