Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Số hàng có nghĩa là có bao nhiêu bản ghi có sẵn trong cơ sở dữ liệu. Đây là một hoạt động chính để tìm hiểu và theo dõi sự phát triển của bảng trong quá trình phát triển và vận hành. Hàm đơn giản và phổ biến nhất cho phép chúng ta trả về số bản ghi có sẵn trong bảng là hàm COUNT() của MySQL. Đây là một chức năng tổng hợp hoạt động trên toàn bộ tập hợp các bản ghi và tạo ra một đầu ra tóm tắt duy nhất

Chúng ta có thể sử dụng hàm MySQL COUNT() để thực hiện những việc sau

  • Để trả về số lượng bản ghi có sẵn trong một bảng
  • Để trả về số lượng hàng theo truy vấn hoặc bảng bí danh
  • Để có được số lượng giá trị khác null trong một cột
  • Để có được số lượng các giá trị riêng biệt hoặc duy nhất trong một cột

cú pháp

Sau đây là cú pháp để lấy số hàng của một bảng trong MySQL

Hãy để chúng tôi lấy các bảng sau đây để trình diễn

Cái bàn. người lao động

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Cái bàn. mệnh lệnh

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Ví dụ chúng ta muốn lấy tổng số hàng trong bảng nhân viên thì cần sử dụng cú pháp như sau

Chúng ta sẽ nhận được đầu ra như ảnh chụp màn hình bên dưới

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Nhận số lượng hàng của MySQL từ hai bảng trở lên

Nếu chúng ta muốn lấy số lượng hàng của hai hoặc nhiều bảng, bắt buộc phải sử dụng các truy vấn con, i. e. , một truy vấn con cho mỗi bảng riêng lẻ

Ví dụ

Giả sử chúng ta muốn lấy số lượng hàng của bảng employee và order trong một truy vấn duy nhất, chúng ta phải thực hiện truy vấn như sau

đầu ra

Ta sẽ được kết quả như hình bên dưới

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Chúng ta cũng có thể sử dụng toán tử UNION để lấy số lượng hàng của hai hoặc nhiều bảng trong đó toán tử kết hợp kết quả được trả về bởi truy vấn SELECT riêng lẻ

Ta sẽ được kết quả như sau

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Nhận số lượng hàng MySQL của tất cả các bảng trong cơ sở dữ liệu cụ thể

MySQL cũng cho phép chúng tôi lấy số hàng của tất cả các bảng trong một cơ sở dữ liệu cụ thể. Sau đây là các bước giúp chúng ta đếm số hàng của tất cả các bảng trong một cơ sở dữ liệu cụ thể

Bước 1. Trước tiên, chúng ta cần lấy tất cả các tên bảng có sẵn trong cơ sở dữ liệu

Bước 2. Thứ hai, tạo một câu lệnh SQL bao gồm truy vấn đếm cho tất cả các bảng được phân tách bằng toán tử UNION

Bước 3. Cuối cùng, thực hiện truy vấn bằng Tuyên bố chuẩn bị sẵn của MySQL

Để lấy tất cả tên bảng của các bảng cơ sở dữ liệu cụ thể, hãy thực hiện truy vấn sau từ cơ sở dữ liệu information_schema

Cơ sở dữ liệu được đề cập ở trên có các bảng sau

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Tiếp theo, xây dựng câu lệnh SQL. Ở đây, chúng ta sẽ sử dụng hàm GROUP_CONCAT và CONCAT để xây dựng câu lệnh

Trong truy vấn trên, table_list là tên của các bảng có sẵn trong một cơ sở dữ liệu cụ thể, xuất phát từ truy vấn được sử dụng trong bước đầu tiên. Vì vậy, truy vấn SQL ở trên trở thành

Nếu bạn đang sử dụng phiên bản MySQL 8. 0 trở lên, bạn có thể sử dụng MySQL CTE (biểu thức bảng chung) thay vì bảng dẫn xuất

Thứ ba, thực thi câu lệnh @sql bằng cách sử dụng câu lệnh đã chuẩn bị như sau

Sau khi thực hiện câu lệnh trên ta sẽ được kết quả như sau

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Nhận số lượng hàng MySQL của tất cả các bảng trong cơ sở dữ liệu với một truy vấn

MySQL cũng cung cấp một truy vấn để đếm các hàng của tất cả các bảng trong một cơ sở dữ liệu cụ thể. Cách nhanh nhất là truy vấn trực tiếp dữ liệu từ cơ sở dữ liệu information_schema. Xem tuyên bố dưới đây

Sau khi thực hiện ta sẽ được kết quả như sau

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Đôi khi truy vấn này không trả về kết quả chính xác. Đó là do số hàng thực tế trong bảng và số hàng trong information_schema không được đồng bộ hóa. Chúng ta có thể tránh kết quả không chính xác này bằng cách chạy câu lệnh ANALYZE TABLE trước khi truy vấn số lượng hàng từ cơ sở dữ liệu information_schema

Hàm count() trong MySQL được sử dụng để trả về số đếm của một biểu thức. Nó cho phép chúng ta đếm tất cả các hàng hoặc chỉ một số hàng của bảng thỏa mãn một điều kiện cụ thể. Nó là một loại hàm tổng hợp có kiểu trả về là BIGINT. Hàm này trả về 0 nếu không tìm thấy bất kỳ hàng nào phù hợp

Chúng ta có thể sử dụng hàm đếm ở ba dạng, được giải thích bên dưới

  • Đếm (*)
  • Đếm (biểu thức)
  • Đếm (riêng biệt)

Hãy để chúng tôi thảo luận chi tiết từng

Hàm COUNT(*). Hàm này sử dụng câu lệnh SELECT để trả về số hàng trong tập kết quả. Tập kết quả chứa tất cả các hàng Non-Null, Null và trùng lặp

Hàm COUNT(biểu thức). Hàm này trả về tập kết quả không chứa các hàng Null là kết quả của một biểu thức

Hàm COUNT(biểu thức riêng biệt). Hàm này trả về số lượng hàng riêng biệt không chứa giá trị NULL là kết quả của biểu thức

cú pháp

Sau đây là cú pháp của hàm COUNT()

giải thích thông số

tổng hợp_biểu thức. Nó chỉ định cột hoặc biểu thức có giá trị KHÔNG NULL sẽ được tính

tên_bảng. Nó chỉ định các bảng từ nơi bạn muố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

Ví dụ về hàm đếm () của MySQL

Hãy xem xét một bảng có tên "nhân viên" có chứa dữ liệu sau

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Hãy cho chúng tôi hiểu cách các hàm count() hoạt động trong MySQL

Ví dụ 1

Thực hiện truy vấn sau sử dụng hàm COUNT(biểu thức) để tính tổng số tên nhân viên có sẵn trong bảng

đầu ra

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Ví dụ2

Thực hiện câu lệnh sau trả về tất cả các hàng từ bảng nhân viên và mệnh đề WHERE chỉ định các hàng có giá trị trong cột emp_age lớn hơn 32

đầu ra

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Ví dụ3

Câu lệnh này sử dụng hàm COUNT(biểu thức riêng biệt) để đếm các hàng khác biệt và khác nhau trong cột emp_age

đầu ra

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Hàm Count() của MySQL với mệnh đề GROUP BY

Chúng ta cũng có thể sử dụng hàm count() với mệnh đề GROUP BY trả về số phần tử trong mỗi nhóm. Ví dụ, câu lệnh sau trả về số lượng nhân viên ở mỗi thành phố

Sau khi thực hiện thành công ta sẽ được kết quả như bên dưới

Làm cách nào để đếm các bản ghi trong cơ sở dữ liệu mysql?

Hàm Count() trong MySQL với mệnh đề HAVING và ORDER BY

Chúng ta hãy xem một mệnh đề khác sử dụng mệnh đề ORDER BY và Have với hàm đếm(). Thực hiện câu lệnh sau cung cấp tên nhân viên có ít nhất hai tuổi giống nhau và sắp xếp chúng dựa trên kết quả đếm

Làm cách nào để đếm số lượng bản ghi trong MySQL?

Hàm COUNT() trả về số lượng bản ghi được trả về bởi một truy vấn chọn. Ghi chú. Giá trị NULL không được tính

Làm cách nào để sử dụng hàm đếm () trong MySQL?

Cách sử dụng hàm COUNT trong MySQL .
CHỌN * TỪ số_num;
CHỌN COUNT(*) TỪ số;
CHỌN COUNT(*) TỪ số. Ở ĐÂU val = 5;
CHỌN COUNT(val) TỪ các số;
CHỌN ĐẾM (giá trị DISTINCT) TỪ các số;