Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách đếm số cột có giá trị cụ thể trong MySQL

Cú pháp sử dụng SUM trên biểu thức boolean:

SELECT SUM(cot1 + cot2 + cot3) AS TongSoGiaTri1,
       SUM(cot1 AND cot2 AND cot3) AS SoHangCoTatCa1
FROM tenBang;

Tạo bảng demo36:

mysql> CREATE TABLE demo36 (
    -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> value1 INT,
    -> value2 INT,
    -> value3 INT
    -> );

Chèn dữ liệu:

mysql> INSERT INTO demo36(value1,value2,value3) VALUES(1,0,0);
mysql> INSERT INTO demo36(value1,value2,value3) VALUES(1,0,1);
mysql> INSERT INTO demo36(value1,value2,value3) VALUES(1,1,1);
mysql> INSERT INTO demo36(value1,value2,value3) VALUES(0,1,0);
mysql> INSERT INTO demo36(value1,value2,value3) VALUES(1,1,0);

Hiển thị dữ liệu:

mysql> SELECT * FROM demo36;

Kết quả:

+----+--------+--------+--------+
| id | value1 | value2 | value3 |
+----+--------+--------+--------+
| 1  | 1      | 0      | 0      |
| 2  | 1      | 0      | 1      |
| 3  | 1      | 1      | 1      |
| 4  | 0      | 1      | 0      |
| 5  | 1      | 1      | 0      |
+----+--------+--------+--------+

Truy vấn đếm:

mysql> SELECT
    -> SUM(value1+value2+value3) AS `Total_Number_Of_1`,
    -> SUM(value1 AND value2 AND value3) AS `Total_Number_Of_Rows_With_1`
    -> FROM demo36;

Kết quả:

+-------------------+-----------------------------+
| Total_Number_Of_1 | Total_Number_Of_Rows_With_1 |
+-------------------+-----------------------------+
| 9                 | 1                           |
+-------------------+-----------------------------+