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
廣告