Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách sử dụng COUNT trong SQL?

Cách sử dụng COUNT trong SQL

Giới thiệu

  • COUNT () là một hàm tổng hợp trong SQL.
  • Hàm này đếm số lượng bản ghi trong bảng nếu điều kiện không được chỉ định.
  • Nếu điều kiện được chỉ định, hàm đếm sẽ trả về số lượng bản ghi thỏa mãn điều kiện đã chỉ định.

Các biến thể của COUNT () trong SQL

  1. COUNT (*)

COUNT (*) được sử dụng để hiển thị số lượng bản ghi có trong một bảng.

Kết quả của hàm COUNT (*) sẽ chứa NULL cũng như các mục nhập trùng lặp cũng được xem xét.

Cú pháp:

SELECT COUNT (*) FROM tablename;

Ví dụ:

Đầu tiên, chúng ta sẽ tạo một cơ sở dữ liệu với tên “Employeedb”. Sau đó, trong cơ sở dữ liệu đó, chúng ta sẽ tạo một bảng “nhân viên” và chèn các bản ghi vào bảng. Chúng tôi sẽ xem xét bảng này và cơ sở dữ liệu cho tất cả các ví dụ tiếp theo.

Chúng tôi sẽ tìm số bản ghi có trong bảng "nhân viên" bằng cách sử dụng hàm COUNT ().

 mysql> USE employeedb;
 Database changed
 mysql> SELECT *FROM employee;
 +--------+----------+------------+
 | Emp_ID | Emp_Name | Emp_Salary |
 +--------+----------+------------+
 |      1 | Nikita   |      30000 |
 |      2 | Riddhi   |      25000 |
 |      3 | Nayan    |      45000 |
 |      4 | Shruti   |      15000 |
 |      5 | Anurati  |      55000 |
 |      6 | NULL     |       NULL |
 |      7 | Anurati  |      55000 |
 +--------+----------+------------+
 7 rows in set (0.00 sec) 
mysql> SELECT COUNT(*) FROM employee;

Đầu ra:

 +----------+
 | COUNT(*) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Có 7 bản ghi hiện diện trong bảng nhân viên.

  • COUNT (1)

COUNT (1) cũng được sử dụng để hiển thị số lượng bản ghi có trong một bảng. Kết quả của hàm COUNT (1) sẽ chứa NULL cũng như các mục nhập trùng lặp cũng được xem xét. Hàm COUNT (1) hoạt động giống như hàm COUNT (*). Ngay cả kết quả của COUNT (1) và COUNT (*) cũng giống nhau.

Cú pháp:

SELECT COUNT (1) FROM tablename;

Ví dụ 1: Chúng tôi sẽ hiển thị số lượng bản ghi có trong bảng nhân viên bằng cách sử dụng COUNT (1).

mysql> SELECT COUNT(1) FROM employee;

Đầu ra:

 +----------+
 | COUNT(1) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Có 7 bản ghi có trong một bảng.

Ví dụ 2:

Hãy để chúng tôi xem điều gì sẽ xảy ra khi chúng tôi chuyển 14 làm tham số cho hàm COUNT ().

mysql> SELECT COUNT(14) FROM employee;

Đầu ra:

 +-----------+
 | COUNT(14) |
 +-----------+
 |         7 |
 +-----------+
 1 row in set (0.00 sec) 

Có 7 bản ghi hiện diện trong một bảng. Vì vậy, 7 được hiển thị dưới dạng đầu ra mặc dù chúng ta đã chuyển 14 làm tham số cho hàm COUNT (). Truyền một số nguyên cho một hàm COUNT () không có nghĩa là đếm số hàng đó trong bảng. Nó đơn giản có nghĩa là 14 sẽ được gán cho mỗi và mọi hàng có trong bảng và sau đó các hàng đó sẽ được tổng hợp lại để tạo ra tổng và được hiển thị dưới dạng đầu ra.

Ví dụ 3:

Hãy để chúng tôi xem điều gì sẽ xảy ra khi chúng tôi chuyển -14 làm tham số cho hàm COUNT ().

mysql> SELECT COUNT(-14) FROM employee;

Đầu ra:

 +------------+
 | COUNT(-14) |
 +------------+
 |          7 |
 +------------+
 1 row in set (0.07 sec) 

Có 7 bản ghi hiện diện trong một bảng. Vì vậy, 7 được hiển thị dưới dạng đầu ra mặc dù chúng ta đã chuyển -14 làm tham số cho hàm COUNT (). Điều đó đơn giản có nghĩa là -14 sẽ được gán cho mỗi và mọi hàng có trong bảng và sau đó các hàng đó sẽ được tổng hợp lại để tạo ra tổng và được hiển thị dưới dạng đầu ra.

  • COUNT (ColumnName)

COUNT (ColumnName) được sử dụng để tìm số lượng bản ghi chứa các giá trị cho cột được chỉ định. Trong khi sử dụng hàm COUNT () với tên cột làm tham số, các bản ghi chứa giá trị NULL cho bản ghi đó sẽ bị bỏ qua.

Cú pháp:

SELECT COUNT(ColumnName) FROM tablename;

Ví dụ 1:

Chúng tôi sẽ hiển thị số lượng bản ghi tồn tại cho Emp_ID.

mysql> SELECT COUNT(Emp_ID) FROM employee;

Đầu ra:

 +---------------+
 | COUNT(Emp_ID) |
 +---------------+
 |             7 |
 +---------------+
 1 row in set (0.00 sec) 

Có 7 bản ghi chứa Emp_ID duy nhất. Do đó, 7 được hiển thị dưới dạng đầu ra.

Ví dụ 2:

Chúng tôi sẽ hiển thị số lượng bản ghi tồn tại cho Emp_Name.

mysql> SELECT COUNT(Emp_Name) FROM employee;

Đầu ra:

 +-----------------+
 | COUNT(Emp_Name) |
 +-----------------+
 |               6 |
 +-----------------+
 1 row in set (0.00 sec) 

Có 7 bản ghi trong bảng nhân viên trong đó, một bản ghi chứa giá trị NULL cho Emp_Name. Vì vậy, bản ghi cụ thể đó bị bỏ qua và 6 được hiển thị dưới dạng đầu ra.

Ví dụ 3:

Chúng tôi sẽ hiển thị số lượng bản ghi tồn tại cho Emp_Salary.

mysql> SELECT COUNT(Emp_Salary) FROM employee;

Đầu ra:

 +-------------------+
 | COUNT(Emp_Salary) |
 +-------------------+
 |                 6 |
 +-------------------+
 1 row in set (0.00 sec) 

Có 7 bản ghi trong bảng nhân viên trong đó một bản ghi chứa giá trị NULL cho Emp_Salary. Vì vậy, bản ghi cụ thể đó bị bỏ qua và 6 được hiển thị dưới dạng đầu ra.

  • COUNT (Tên cột DISTINCT)

Hàm COUNT () với DISTINCT ColumnName làm tham số của nó được sử dụng để hiển thị số lượng bản ghi chứa các giá trị duy nhất cho một cột cụ thể. Các bản ghi chứa các giá trị trùng lặp và NULL sẽ không được tính.

Cú pháp:

SELECT COUNT(DISTINCT ColumnName) FROM tablename;

Ví dụ 1:

Chúng tôi sẽ hiển thị số lượng bản ghi chứa các giá trị duy nhất cho Emp_ID.

mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;

Đầu ra:

 +-------------------------+
 | COUNT( DISTINCT Emp_ID) |
 +-------------------------+
 |                       7 |
 +-------------------------+
 1 row in set (0.05 sec) 

Có 7 bản ghi chứa các giá trị duy nhất cho Emp_ID.

Ví dụ 2:

Chúng tôi sẽ hiển thị số lượng bản ghi chứa các giá trị duy nhất cho Emp_Name.

mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;

Đầu ra:

 +---------------------------+
 | COUNT( DISTINCT Emp_Name) |
 +---------------------------+
 |                         5 |
 +---------------------------+
 1 row in set (0.00 sec) 

Có 5 bản ghi chứa các giá trị duy nhất cho Emp_Name. Các giá trị NULL và trùng lặp trong Emp_Name sẽ không được từ khóa DISTINCT xem xét.

Ví dụ 3:

Chúng tôi sẽ hiển thị số lượng bản ghi chứa các giá trị duy nhất cho Emp_Salary.

mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;

Đầu ra:

 +-----------------------------+
 | COUNT( DISTINCT Emp_Salary) |
 +-----------------------------+
 |                           5 |
 +-----------------------------+
 1 row in set (0.00 sec) 

Có 5 bản ghi chứa các giá trị duy nhất cho Emp_Salary. Từ khóa DISTINCT sẽ không xem xét các giá trị NULL và trùng lặp trong Emp_Salary.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh Hiệu suất Windows Azure VM, Phần 1

  2. Mức lương cao thứ n

  3. SQL Injection là gì?

  4. Tạo một cụm Docker Swarm trên Dịch vụ vùng chứa Azure

  5. Cách các chỉ mục được lọc có thể trở thành một tính năng mạnh mẽ hơn