1. Câu lệnh SELECT DISTINCT
Bên trong một bảng, một cột thường chứa nhiều giá trị trùng lặp và đôi khi bạn chỉ muốn liệt kê các giá trị khác nhau (riêng biệt). Để chọn được ra những giá trị không trùng lặp ta cần sử dụng đến câu lệnh SELECT DISTINCT. Câu lệnh SELECT DISTINCT chỉ được sử dụng để trả về các giá trị riêng biệt hay khác nhau.
Cú pháp câu lệnh SELECT DISTINCT
SELECT DISTINCT column1, column2, ... FROM table_name;
Trong đó:
- SELECT DISTINCT là câu lệnh chọn ra các bản ghi không có giá trị trùng lặp
- column1, column2, ...là các cột được chọn lấy ra dữ liệu
- FROM table_name là tên bảng chứa các dữ liệu cần lấy ra
2. Ví dụ câu lệnh SELECT DISTINCT
Bảng KhachHang dưới đây bao gồm các cột: ID, TenKH, DiaChi, ThanhPho, SoDienThoai
ID | TenKH | DiaChi | ThanhPho | SoDienThoai |
1 | Nguyen Van A | Tay Ho | Ha Noi | 0888999888 |
2 | Nguyen Van B | Quan 5 | Ho Chi Minh | 0988988988 |
3 | Nguyen Van C | Quan 7 | Ho Chi Minh | 0899899899 |
4 | Nguyen Van D | Bac Tu Liem | Ha Noi | 0788788788 |
5 | Nguyen Van E | Ngo Quen | Hai Phong | 0858585858 |
6 | Nguyen Van F | Ngu Hanh Son | Da Nang | 0969696969 |
7 | Nguyen Van G | Tay Ho | Ha Noi | 0838383838 |
Giả sử tôi cần lấy ra tên các thành phố (không có sự trùng lặp) ở trong bảng KhachHang trên. Để làm được việc này tôi sẽ sử dụng câu lệnh SELECT DISTINCT trong cột ThanhPho bằng câu lệnh sau:
SELECT DISTINCT ThanhPho FROM KhachHang;
Kết quả thu được như sau:
ThanhPho |
Da Nang |
Ha Noi |
Hai Phong |
Ho Chi Minh |
Để đếm các thành phố khác nhau trong cột ThanhPho ta sẽ sử dụng câu lệnh dưới đây:
SELECT COUNT(DISTINCT ThanhPho) FROM KhachHang;
Kết quả nhận được là: 4 bởi vì trong cột ThanhPho bao gồm các thành phố là: Da Nang, Ha Noi, Hai Phong, Ho Chi Minh