Số lượng mysql

SELECT SUM(if(category=1,size,0)) ,COUNT(if(category=1,true,null)) FORM t_file;

解析:
1. sum(if(category=1,size,0))中 sum函数返回一个值类型的数值,如果category=1,则返回size,如果category不等于1就返回0。
2. count(if(category=1,true,null))中count函数返回一个布尔值类型的数值,如果category=1,返回true,如果category不等于1返回null,如果写成count(If(category=1,1,0) 则返回的全是true,也就是说全都会计数,而count()间断内容是true还是null,如果不是null就计数,如果是null就不计数。

Show

所以count(if())的写法应该是count(if( 表达式 ,true,null));

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

Số lượng 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

Số lượng 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

Số lượng 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

Số lượng 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

Số lượng 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

Ví dụ

Trả về số lượng sản phẩm trong bảng "Sản phẩm"

CHỌN COUNT(ProductID) AS NumberOfProducts TỪ Sản phẩm;

Tự mình thử »


Định nghĩa và cách sử dụng

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

cú pháp

Giá trị tham số

Tham sốMô tảBiểu thứcBắt buộc. Một trường hoặc một giá trị chuỗi

chi tiết kỹ thuật

Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 của MySQL để trả về số hàng trong một bảng

Giới thiệu về chức năng MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5); (adsbygoogle = window.adsbygoogle || []).push({}); Code language: SQL (Structured Query Language) (sql)1

Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 là một hàm tổng hợp trả về số hàng trong một bảng. Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 cho phép bạn đếm tất cả các hàng hoặc chỉ những hàng phù hợp với một điều kiện cụ thể

Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 có ba dạng.

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6,

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
7 và

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
8

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)6 chức năng

Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 trả về số hàng trong tập kết quả được trả về bởi câu lệnh

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
1.

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 trả về số hàng bao gồm các hàng trùng lặp, không phải NULL và

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
3

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)7

Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
7 trả về số lượng hàng không chứa giá trị

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
3 như kết quả của biểu thức

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)8

Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
8 trả về số hàng riêng biệt không chứa giá trị

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
3 như kết quả của biểu thức

Kiểu trả về của hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 là

SELECT COUNT(*) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
1. Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1  trả về 0 nếu không tìm thấy hàng phù hợp

Minh họa chức năng MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)1

Thiết lập một bảng mẫu

Đầu tiên, tạo một bảng tên là

SELECT COUNT(*) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
4

CREATE TABLE count_demos ( id INT AUTO_INCREMENT PRIMARY KEY, val INT );

Code language: SQL (Structured Query Language) (sql)

Thứ hai, chèn một số hàng vào bảng

SELECT COUNT(*) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
4

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)

Thứ ba, truy vấn dữ liệu từ bảng

SELECT COUNT(*) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
4

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)

Số lượng mysql
Số lượng mysql

MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)6 ví dụ

Câu lệnh sau sử dụng hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 để trả về tất cả các hàng từ bảng

SELECT COUNT(*) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
4

SELECT COUNT(*) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

Ví dụ này sử dụng hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 với mệnh đề

SELECT COUNT(*) FROM count_demos WHERE val = 2;

Code language: SQL (Structured Query Language) (sql)
1 để chỉ định điều kiện chỉ đếm các hàng có giá trị trong cột 

SELECT COUNT(*) FROM count_demos WHERE val = 2;

Code language: SQL (Structured Query Language) (sql)
2 là 2.

SELECT COUNT(*) FROM count_demos WHERE val = 2;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

Ví dụ về MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)7

Nếu bạn chỉ định cột

SELECT COUNT(*) FROM count_demos WHERE val = 2;

Code language: SQL (Structured Query Language) (sql)
2 trong hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1, thì hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 sẽ chỉ tính các hàng có giá trị khác NULL trong cột  

SELECT COUNT(*) FROM count_demos WHERE val = 2;

Code language: SQL (Structured Query Language) (sql)
2

SELECT COUNT(val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

Lưu ý rằng hai giá trị

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
3 không được bao gồm trong kết quả.

MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)8 ví dụ

Ví dụ này sử dụng

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
8 để đếm các giá trị khác NULL và khác biệt trong cột

SELECT COUNT(*) FROM count_demos WHERE val = 2;

Code language: SQL (Structured Query Language) (sql)
2

SELECT COUNT(DISTINCT val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

Ví dụ thực tế về hàm MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)1

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

SELECT COUNT(val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
3 từ cơ sở dữ liệu mẫu cho các ví dụ tiếp theo

Số lượng mysql
Số lượng mysql

A) Sử dụng chức năng MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)6 với ví dụ về SELECT COUNT(val) FROM count_demos;Code language: SQL (Structured Query Language) (sql)5

Hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 thường được sử dụng với mệnh đề

SELECT COUNT(val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
7 để trả về số phần tử trong mỗi nhóm

Ví dụ, câu lệnh này sử dụng hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 với mệnh đề

SELECT COUNT(val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
5 để trả về số lượng sản phẩm trong mỗi dòng sản phẩm

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

Tương tự, ví dụ này sử dụng hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 để tìm số lượng sản phẩm được cung cấp bởi mỗi nhà cung cấp.

SELECT productVendor, COUNT(*) FROM products GROUP BY productVendor ORDER BY COUNT(*) DESC;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

B) Sử dụng MySQL INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);Code language: SQL (Structured Query Language) (sql)6 với ví dụ về mệnh đề SELECT COUNT(DISTINCT val) FROM count_demos;Code language: SQL (Structured Query Language) (sql)2

Để tìm nhà cung cấp cung cấp ít nhất 9 sản phẩm, bạn sử dụng hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
6 trong mệnh đề

SELECT COUNT(DISTINCT val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
4 như được hiển thị trong truy vấn sau

SELECT productVendor, COUNT(*) FROM products GROUP BY productVendor HAVING COUNT(*) >= 9 ORDER BY COUNT(*) DESC;

Code language: SQL (Structured Query Language) (sql)
Số lượng mysql
Số lượng mysql

C) Ví dụ về MySQL SELECT COUNT(DISTINCT val) FROM count_demos;Code language: SQL (Structured Query Language) (sql)5

Bạn có thể sử dụng một biểu thức luồng điều khiển và các hàm e. g. ,

SELECT COUNT(DISTINCT val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
6,

SELECT COUNT(DISTINCT val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
7 và

SELECT COUNT(DISTINCT val) FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
8 trong hàm

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 để đếm các hàng có giá trị khớp với một điều kiện

Xem bảng

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
0 sau đây từ cơ sở dữ liệu mẫu

Số lượng mysql
Số lượng mysql

Truy vấn sau đây sử dụng

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
1 với hàm

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
2 để tìm số lượng đơn đặt hàng bị hủy, bị tạm dừng và bị tranh chấp từ bảng

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
0

INSERT INTO count_demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);

Code language: SQL (Structured Query Language) (sql)
0

Hàm

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
4 trả về 1 nếu trạng thái của đơn đặt hàng bị hủy, tạm dừng hoặc có tranh chấp, nếu không, nó trả về

SELECT * FROM count_demos;

Code language: SQL (Structured Query Language) (sql)
3

Hàm

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
6 chỉ đếm 1, không tính giá trị NULL nên truy vấn trả về số lượng đơn hàng dựa trên trạng thái tương ứng

Số lượng mysql
Số lượng mysql

Trong hướng dẫn này, bạn đã học được nhiều kỹ thuật khác nhau để đếm số hàng trong một bảng bằng cách sử dụng hàm MySQL

SELECT productLine, COUNT(*) FROM products GROUP BY productLine;

Code language: SQL (Structured Query Language) (sql)
6