Loại bỏ giá trị trùng nhau với SELECT DISTINCT

Câu lệnh SELECT không Trùng với DISTINCT

Giới thiệu

Trong chương này, chúng ta sẽ tìm hiểu về những điều cơ bản của câu lệnh SQL SELECT DISTINCT

SELECT câu lệnh SQL DISTINCT

Câu lệnh SELECT DISTINCT được sử dụng để chỉ trả về các giá trị riêng biệt (khác nhau).
SELECT DISTINCT loại bỏ các bản ghi trùng lặp khỏi kết quả
SELECT DISTINCT có thể được sử dụng với các tập hợp: COUNT, AVG, MAX, v.v.
SELECT toán tử DISTINCT trên một cột duy nhất DISTINCT cho nhiều cột không được hỗ trợ
Từ khóa SQL DISTINCT được sử dụng cùng với câu lệnh SELECT để loại bỏ tất cả các bản ghi trùng lặp và chỉ tìm nạp các bản ghi duy nhất
Có thể xảy ra tình huống khi bạn có nhiều bản ghi trùng lặp trong một bảng. trong khi tìm nạp các bản ghi như vậy, sẽ hợp lý hơn nếu chỉ tìm nạp các bản ghi duy nhất đó thay vì tìm nạp các bản ghi trùng lặp
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)
Cú pháp 
  1. SELECT DISTINCT Emp_Name
  2. FROM EmployeeDetail;
Ví dụ

Câu lệnh SELECT COUNT DISTINCT

Hàm SELECT DISTINCT COUNT() trả về số hàng khớp với một tiêu chí đã chỉ định
Câu lệnh SQL sau đây liệt kê số lượng (DISTINCT)EmployeeDetails EmpId khác nhau
Cú pháp
  1. SELECT COUNT(DISTINCT EmpId) FROM EmpDetail;

Ví dụ

SELECT câu lệnh AVG DISTINCT 

Hàm AVG DISTINCT() trả về giá trị trung bình cộng của một cột số
Câu lệnh SQL sau đây liệt kê số lượng (DISTINCT)EmployeeDetails EmpId khác nhau
Cú pháp 
  1. SELECT AVG(DISTINCT EmpId)
  2. FROM EmployeeDetail
  3. WHERE EmpId= EmpId
Ví dụ
HUYỆN

SELECT câu lệnh MAX DISTINCT

Hàm SELECT MAX DISTINCT trả về giá trị lớn nhất của cột đã chọn
Cú pháp
  1. SELECT MAX(DISTINCT EmpId)
  2. FROM EmployeeDetail
  3. WHERE EmpId= EmpId
Ví dụ 
GHI CHÚ
Ví dụ trên sẽ không hoạt động trong Firefox và Microsoft edge! Bởi vì COUNT(DISTINCT column_name) không được hỗ trợ trong cơ sở dữ liệu truy cập của Microsoft, Firefox và Microsoft Edge đang sử dụng quyền truy cập của Microsoft trong các ví dụ của chúng ta.
Đây là cách giải quyết để truy cập ms.

SQL SELECT DISTINCT trên nhiều cột

Đây là một ví dụ đơn giản về một số cột được chọn trong bảng EmpoyeeDetail trong đó EmpId= 5
Cú pháp
  1. CHỌN DISTINCT  EmpName,EmpAddress,EmpCity  TỪ  EmployeeDetail  Trong đó  EmpId=5
Ví dụ 
SQL CHỌN QUẬN

SELECT ví dụ không có DISTINCT   

Câu lệnh SQL sau đây chọn tất cả (bao gồm cả các giá trị trùng lặp) từ cột EmpName trong bảng Chi tiết nhân viên
Cú pháp
  1. SELECT * FROM EmployeeDetail
Ví dụ

 

(Source: https://www.c-sharpcorner.com/)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *