SQL COUNT()函数

SQL COUNT()函数

SQL COUNT() 函数用于计算特定列中非NULL值的数量。换句话说,COUNT()函数返回与指定条件匹配的行数。

如果您以 COUNT(*) 的形式调用此函数,它将返回指定表中记录的数量,不考虑NULL值。

假设我们在SQL数据库中记录了选民的信息,并且希望计算选民的数量;手动计算将非常困难。但是,通过使用SQL SELECT COUNT()语句,我们可以非常容易地完成它。

语法

下面是SQL COUNT()函数的语法 –

SELECT COUNT(name_column) AS alias_name FROM table_name WHERE condition;

参数

  • column_name − 我们想要计算计数值的列的名称。

示例

以下是一个演示此函数用法的示例。假设我们使用CREATE语句在SQL数据库中创建了名为customers的表,如下所示:

CREATE TABLE customers(ID INT NOT NULL, 
NAME VARCHAR(30) NOT NULL, 
AGE INT NOT NULL, 
ADDRESS CHAR(30), 
SALARY DECIMAL(18, 2));

该表存储了ID、姓名、年龄、地址和工资。现在我们正在使用INSERT语句向顾客表中插入7条记录。

INSERT INTO customers VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
INSERT INTO customers VALUES(2, 'Khilan', 25, 'Delhi', 1500.00);
INSERT INTO customers VALUES(3, 'Kaushik', 23, 'Kota', 2000.00);
INSERT INTO customers VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00);
INSERT INTO customers VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
INSERT INTO customers VALUES(6, 'Komal', 22, 'MP', 4500.00);
INSERT INTO customers VALUES(7, 'Aman', 23, 'Ranchi', null);
INSERT INTO customers VALUES(8, 'Kaushik', 24, 'Ooti', 2000.00);

以下是客户表 –

+----+----------+-----+-----------+---------+
| ID | NAME     | AGE | ADDRESS   | SALARY  |
+----+----------+-----+-----------+---------+
|  1 | Ramesh   |  32 | Ahmedabad | 2000.00 |
|  2 | Khilan   |  25 | Delhi     | 1500.00 |
|  3 | Kaushik  |  23 | Kota      | 2000.00 |
|  4 | Chaitali |  25 | Mumbai    | 6500.00 |
|  5 | Hardik   |  27 | Bhopal    | 8500.00 |
|  6 | Komal    |  22 | MP        | 4500.00 |
|  7 | Aman     |  23 | Ranchi    |    NULL |
|  8 | Kaushik' |  24 | Ooti      | 2000.00 |
+----+----------+-----+-----------+---------+

以下是根据客户表中的AGE列计算行数的查询:

SELECT COUNT(AGE) AS num_of_age FROM customers;

输出

+------------+
| num_of_age |
+------------+
|          7 |
+------------+

示例

在下面的示例中,我们正在使用where子句和SQL COUNT()函数计算满足特定条件的AGE列实体数量,从customers表中检索”age”值等于23的记录数量。

SELECT COUNT(AGE) AS num_of_age FROM customers WHERE AGE = 23;

输出

+------------+
| num_of_age |
+------------+
|          2 |
+------------+

示例

在下面的示例中,我们使用groupby子句按”name”列对上面创建的customers表进行分组,并计算Salary列中的数值数量。

SELECT NAME, COUNT(SALARY) AS Count FROM customers GROUP BY NAME;

输出

+----------+-------+
| NAME     | Count |
+----------+-------+
| Aman     |     0 |
| Ramesh   |     1 |
| Khilan   |     1 |
| kaushik  |     1 |
| Chaitali |     1 |
| Hardik         1 |
| Komal    |     1 |
+----------+-------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程