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语句向客户表中插入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);
+----+----------+-----+-----------+---------+
| 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 |
+----------+