Làm cách nào để sử dụng khác biệt trong MySQL trong PHP?

Mệnh đề MySQL DISTINCT được sử dụng để loại bỏ các bản sao khỏi tập kết quả. Mệnh đề DISTINCT chỉ có thể được sử dụng với câu lệnh SELECT

cú pháp

Cú pháp của mệnh đề DISTINCT trong MySQL là

SELECT DISTINCT expressions
FROM tables
[WHERE conditions];

Tham số hoặc Đối số

biểu thứcCác cột hoặc phép tính mà bạn muốn truy xuất. tableCác bảng mà bạn muốn truy xuất các bản ghi từ. Phải có ít nhất một bảng được liệt kê trong mệnh đề TỪ. điều kiện WHERETùy chọn. Các điều kiện phải được đáp ứng để hồ sơ được chọn

Ghi chú

  • Khi chỉ có một biểu thức được cung cấp trong mệnh đề DISTINCT, truy vấn sẽ trả về các giá trị duy nhất cho biểu thức đó
  • Khi có nhiều hơn một biểu thức được cung cấp trong mệnh đề DISTINCT, truy vấn sẽ truy xuất các kết hợp duy nhất cho các biểu thức được liệt kê
  • Trong MySQL, mệnh đề DISTINCT không bỏ qua các giá trị NULL. Vì vậy, khi sử dụng mệnh đề DISTINCT trong câu lệnh SQL của bạn, tập kết quả của bạn sẽ bao gồm NULL dưới dạng giá trị riêng biệt

Ví dụ - Với biểu thức đơn

Hãy xem ví dụ về mệnh đề MySQL DISTINCT đơn giản nhất. Chúng ta có thể sử dụng mệnh đề MySQL DISTINCT để trả về một trường duy nhất loại bỏ các bản sao khỏi tập kết quả

Ví dụ

SELECT DISTINCT state
FROM customers;

Ví dụ MySQL DISTINCT này sẽ trả về tất cả các giá trị trạng thái duy nhất từ ​​bảng khách hàng

Ví dụ - Với nhiều biểu thức

Hãy xem cách bạn có thể sử dụng mệnh đề DISTINCT của MySQL để loại bỏ các mục trùng lặp khỏi nhiều trường trong câu lệnh SELECT của bạn

Ví dụ

SELECT DISTINCT city, state
FROM customers;

Ví dụ về mệnh đề MySQL DISTINCT này sẽ trả về từng tổ hợp thành phố và tiểu bang duy nhất từ ​​bảng khách hàng. Trong trường hợp này, DISTINCT áp dụng cho từng trường được liệt kê sau từ khóa DISTINCT và do đó trả về các kết hợp riêng biệt

Mệnh đề DISTINCT của MySQL được sử dụng để xóa các bản ghi trùng lặp khỏi bảng và chỉ tìm nạp các bản ghi duy nhất. Mệnh đề DISTINCT chỉ được sử dụng với câu lệnh SELECT

cú pháp

Thông số

biểu thức. chỉ định các cột hoặc phép tính mà bạn muốn truy xuất

những cái bàn. chỉ định tên của các bảng từ nơi bạn truy xuất bản ghi. Phải có ít nhất một bảng được liệt kê trong mệnh đề TỪ

điều kiện NƠI. nó là tùy chọn. Nó chỉ định các điều kiện phải được đáp ứng để các bản ghi được chọn

Ghi chú

  • Nếu bạn chỉ đặt một biểu thức trong mệnh đề DISTINCT, thì truy vấn sẽ trả về các giá trị duy nhất cho biểu thức đó
  • Nếu bạn đặt nhiều hơn một biểu thức trong mệnh đề DISTINCT, thì truy vấn sẽ truy xuất các kết hợp duy nhất cho các biểu thức được liệt kê
  • Trong MySQL, mệnh đề DISTINCT không bỏ qua các giá trị NULL. Vì vậy, nếu bạn đang sử dụng mệnh đề DISTINCT trong câu lệnh SQL của mình, tập kết quả của bạn sẽ bao gồm NULL dưới dạng một giá trị riêng biệt

Mệnh đề DISTINCT của MySQL với một biểu thức

Nếu bạn sử dụng một biểu thức duy nhất thì mệnh đề DISTINCT của MySQL sẽ trả về một trường duy nhất với các bản ghi duy nhất [không có bản ghi trùng lặp]

xem bảng

Sử dụng truy vấn sau

Mệnh đề DISTINCT của MySQL có nhiều biểu thức

Nếu bạn sử dụng nhiều biểu thức với Mệnh đề DISTINCT thì mệnh đề DISTINCT của MySQL sẽ loại bỏ các bản trùng lặp khỏi nhiều trường trong câu lệnh SELECT của bạn

Nếu bạn muốn tìm nạp dữ liệu [bản ghi] mà không có giá trị trùng lặp từ bảng cơ sở dữ liệu thì hãy sử dụng câu lệnh "Chọn riêng biệt"

PHP MySQL Chọn ví dụ câu lệnh riêng biệt

Nếu bạn muốn tìm nạp dữ liệu [bản ghi] mà không có giá trị trùng lặp từ bảng cơ sở dữ liệu thì hãy sử dụng câu lệnh "Chọn riêng biệt". "Select Distinct"  được dùng để tìm nạp giá trị khác trong tập hợp bản ghi. Giả sử bảng cơ sở dữ liệu chứa một số giá trị trùng lặp nhưng bạn muốn tìm nạp các bản ghi không có giá trị trùng lặp thì sử dụng "Select Distinct"

cú pháp

CHỌN DISTINCT column_name TỪ tên_bảng

Thí dụ

"; 
echo "User Email : " . $rows['user_email'] . "

"; } } mysql_close[$connection]; ?>

Bảng người dùng cơ sở dữ liệu là

Trong ví dụ này, chúng tôi đã sử dụng user_name và user_email với câu lệnh "Distinct" nên kết quả sẽ không lặp lại tên người dùng và email

Tóm lược. trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng mệnh đề MySQL

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 trong câu lệnh

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
2 để loại bỏ các hàng trùng lặp trong tập kết quả

Giới thiệu về mệnh đề DISTINCT của MySQL

Khi truy vấn dữ liệu từ một bảng, bạn có thể nhận được các hàng trùng lặp. Để xóa các hàng trùng lặp này, bạn sử dụng mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 trong câu lệnh

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
4

Đây là cú pháp của mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1

SELECT DISTINCT select_list FROM table_name WHERE search_condition ORDER BY sort_expression;

Code language: SQL [Structured Query Language] [sql]

Trong cú pháp này, bạn chỉ định một hoặc nhiều cột mà bạn muốn chọn các giá trị riêng biệt sau từ khóa

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
6

Nếu bạn chỉ định một cột, mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 sẽ đánh giá tính duy nhất của các hàng dựa trên các giá trị của cột đó

Tuy nhiên, nếu bạn chỉ định hai hoặc nhiều cột, mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 sẽ sử dụng các giá trị của các cột này để đánh giá tính duy nhất của các hàng

Khi thực hiện câu lệnh

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
2 với mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1, MySQL đánh giá mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 sau mệnh đề

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]
2,

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]
3, và

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
2 và trước mệnh đề

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]
5

Ví dụ về mệnh đề MySQL DISTINCT

Chúng tôi sẽ sử dụng bảng

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]
6 từ cơ sở dữ liệu mẫu

Trước tiên, hãy chọn họ từ bảng

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]
6 bằng cách sử dụng câu lệnh

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
2 sau đây

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]

Như được hiển thị rõ ràng trong đầu ra, một số nhân viên có cùng họ e. g. ,

+-----------+ | lastname | +-----------+ | Bondur | | Bondur | | Bott | | Bow | | Castillo | | Firrelli | | Firrelli | | Fixter | .... | Jones | | Patterson | | Patterson | | Patterson | | Thompson | ... +-----------+ 23 rows in set [0.00 sec]

Code language: plaintext [plaintext]
9

Thứ hai, chọn họ duy nhất bằng cách thêm mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 như thế này

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]


Như bạn có thể thấy rõ từ đầu ra, mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 loại bỏ các họ trùng lặp khỏi tập kết quả

+-----------+ | lastname | +-----------+ | Bondur | | Bott | | Bow | | Castillo | | Firrelli | ... | Nishi | | Patterson | | Thompson | | Tseng | | Vanauf | +-----------+ 19 rows in set [0.01 sec]

Code language: plaintext [plaintext]

Các giá trị DISTINCT và NULL của MySQL

Khi bạn chỉ định một cột có giá trị

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
2 trong mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1, mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 sẽ chỉ giữ một giá trị

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
5 vì nó coi tất cả các giá trị

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
5 đều giống nhau

Ví dụ: cột trạng thái trong bảng

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
7 có giá trị

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
5

Khi bạn sử dụng mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 để truy vấn các trạng thái, bạn sẽ thấy các trạng thái riêng biệt và

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
5 như sau

SELECT DISTINCT state FROM customers;

Code language: SQL [Structured Query Language] [sql]

+---------------+ | state | +---------------+ | NULL | | NV | | Victoria | | CA | | NY | | PA | ... | Co. Cork | | Pretoria | | NH | | Tokyo | +---------------+ 19 rows in set [0.00 sec]

Code language: plaintext [plaintext]

MySQL DISTINCT với nhiều cột

Khi bạn chỉ định nhiều cột trong mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1, mệnh đề

SELECT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
1 sẽ sử dụng tổ hợp các giá trị trong các cột này để xác định tính duy nhất của hàng trong tập hợp kết quả

Ví dụ: để có được sự kết hợp duy nhất giữa thành phố và tiểu bang từ bảng

SELECT DISTINCT lastname FROM employees ORDER BY lastname;

Code language: SQL [Structured Query Language] [sql]
7, bạn sử dụng truy vấn sau

Chúng ta có thể sử dụng mệnh đề phân biệt ở đâu trong MySQL không?

Bằng cách sử dụng mệnh đề WHERE với mệnh đề DISTINCT trong các truy vấn MySQL, chúng tôi đang đặt một điều kiện trên cơ sở đó MySQL trả về các hàng duy nhất của tập hợp kết quả .

Làm cách nào để sử dụng chức năng riêng biệt trong PHP?

"Chọn riêng biệt" được sử dụng để tìm nạp giá trị khác nhau trong bộ bản ghi. Giả sử bảng cơ sở dữ liệu chứa một số giá trị trùng lặp nhưng bạn muốn tìm nạp các bản ghi không có giá trị trùng lặp thì sử dụng "Select Distinct". mysql_close[$connection];

Làm cách nào để sử dụng lệnh riêng biệt trong MySQL?

Mệnh đề DISTINCT của MySQL được sử dụng để xóa các bản ghi trùng lặp khỏi bảng và chỉ tìm nạp các bản ghi duy nhất. Mệnh đề DISTINCT chỉ được sử dụng với câu lệnh SELECT. .
CHỌN biểu thức DISTINCT
TỪ bảng
[điều kiện NƠI];

Làm cách nào để sử dụng riêng biệt và đếm cùng nhau trong MySQL?

Có, bạn có thể sử dụng COUNT[] và DISTINCT cùng nhau để chỉ hiển thị số lượng các hàng riêng biệt. CHỌN COUNT[DISTINCT yourColumnName] NHƯ anyVariableName TỪ yourTableName ; . Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh chọn.

Chủ Đề