Đô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.
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 [kiso.vn]
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.
SELECT SALARY FROM CUSTOMERS ORDER BY SALARY
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.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Cú pháp lệnh DISTINCT2. Lệnh DISTINCT lọc dữ...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Cú pháp lệnh DISTINCT2. Lệnh DISTINCT lọc dữ liệu bị trùng1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Cú pháp lệnh DISTINCT2. Lệnh DISTINCT lọc dữ liệu bị trùngV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Cú pháp lệnh DISTINCT2. Lệnh DISTINCT lọc dữ liệu bị trùngV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Cú pháp lệnh DISTINCT2. Lệnh DISTINCT lọc dữ liệu bị trùngIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ...