SQL - COUNT_BIG() 函数



COUNT_BIG() 和 COUNT() 函数的功能相同。两者都返回组中找到的项目数。基本上,我们可以使用这些函数来找出表或结果集中有多少行。

COUNT_BIG() 函数用于计算 select 语句选择的项目或行的数量。我们也可以将条件与 where 子句一起传递以计算行数。COUNT() 函数和 COUNT_BIG() 函数之间的唯一区别在于后者返回类型为 bigint 的值。

此函数还允许使用两个可选的修饰符 ALL 和 DISTINCT。如果我们使用 ALL,此函数将返回所有值的计数。如果我们使用 DISTINCT,此函数将返回唯一且非空值的计数。

语法

以下是 SQL COUNT_BIG() 函数的语法:

COUNT_BIG ( { [ ALL | DISTINCT ] expression } | * )

参数

  • 表达式 - 任何类型的表达式。COUNT_BIG() 不允许使用聚合函数或子查询。

  • * - 它指定 COUNT_BIG 应该计算所有行以确定总表行数。

返回值

COUNT BIG(*) 返回给定表中的行数,包括重复行。它单独计算每一行,包括具有空值的行。

示例

在下面的示例中,我们正在计算 customers 表中存在的总记录数。使用 CREATE 语句,我们创建了一个名为 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 语句在 customers 表中插入 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);
customers 表如下:
+----+----------+-----+-----------+---------+
| 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 |
+----+----------+-----+-----------+---------+

以下 SQL 查询显示客户总数:

SELECT COUNT_BIG(*) AS number_of_customers FROM customers;

输出

以下是上述 SQL 查询的输出:

+--------------------+
|number_of_customers |
+--------------------+
|                  7 | 
+--------------------+

示例

在下面的示例中,我们使用上述客户表来演示 COUNT() 和 COUNT_BIG() 函数的使用。两者返回相同的输出。

SELECT COUNT(*) AS customer, COUNT_BIG(*) AS customer FROM customers;

输出

以下是上述 SQL 查询的输出:

+----------+----------+
| customer | customer |
+----------+----------+
|        7 |        7 |
+----------+----------+

示例

在下面的示例中,我们使用 COUNT_BIG() 函数以及 where 子句来计算特定行。它计算年龄仅为 23 的名称:

SELECT COUNT_BIG(NAME) AS same_age FROM customers WHERE AGE = 23;

输出

以下是上述 SQL 查询的输出,显示年龄为 23 的名称计数:

+-----------+
|  same_age |
+-----------+
|         2 | 
+-----------+

示例

在下面的示例中,我们使用 SQL COUNT_BIG() 函数以及 DISTINCT 运算符来计算 ID。

以下 SQL 查询计算 DISTINCT ID:

SELECT COUNT_BIG(DISTINCT ID) AS DIST_ID FROM customers;

输出

以下是上述 SQL 查询的输出:

+----------+
|  DIST_ID |
+----------+
|        7 | 
+----------+
sql-aggregate-functions.htm
广告