⑴ sql聚合函數中count(*) 和count(1),count(2)結果相同,為什麼
count(1),其實就是計算一共有多少符合條件的行。
1並不是表示第一個欄位,而是表示一個固定值。
其實就可以想成表中有這么一個欄位,這個欄位就是固定值1,count(1),就是計算一共有多少個1.。
同理,count(2),也可以,得到的值完全一樣,count('x'),count('y')都是可以的。一樣的理解方式。在你這個語句理都可以使用,返回的值完全是一樣的。就是計數。
count(*),執行時會把星號翻譯成欄位的具體名字,效果也是一樣的,不過多了一個翻譯的動作,比固定值的方式效率稍微低一些。
⑵ SQL語句中 聚合函數count()忽略空值么
SQL語句函數count(),如果括弧中是列名稱,是忽略空值NULL的,即返回列的值的數目,不包含NULL值。
COUNT函數,用於Excel中對給定數據集合或者單元格區域中數據的個數進行計數,其語法結構為COUNT(value1,value2, ...)。COUNT函數只能對數字數據進行統計,對於空單元格、邏輯值或者文本數據將被忽略,因此可以利用該函數來判斷給定的單元格區域中是否包含空單元格。
(2)sql聚合函數中啥函數表示計數擴展閱讀:
如果參數是一個數組或引用,那麼只統計數組或引用中的數字;數組中或引用的空單元格、邏輯值、文字或錯誤值都將忽略。具體如下:
如果參數為數字、日期或者代表數字的文本(例如,用引號引起的數字,如 "1"),則將被計算在內。
邏輯值和直接鍵入到參數列表中代表數字的文本被計算在內。
如果參數為錯誤值或不能轉換為數字的文本,則不會被計算在內。
如果參數為數組或引用,則只計算數組或引用中數字的個數。不會計算數組或引用中的空單元格、邏輯值、文本或錯誤值。
⑶ 求SQL的聚合函數的定義,特點,注意事項等
求和函數——SUM()求和函數SUM( )用於對數據求和,返回選取結果集中所有值的總和。語法如下。SELECT SUM(column_name) FROM table_name說明:SUM()函數只能作用於數值型數據,即列column_name中的數據必須是數值型的。 計數函數——COUNT()COUNT()函數用來計算表中記錄的個數或者列中值的個數,計算內容由SELECT語句指定。使用COUNT函數時,必須指定一個列的名稱或者使用星號,星號表示計算一個表中的所有記錄。兩種使用形式如下。 COUNT(*),計算表中行的總數,即使表中行的數據為NULL,也被計入在內。 COUNT(column),計算column列包含的行的數目,如果該列中某行數據為NULL,則該行不計入統計總數。 最大/最小值函數—MAX()/MIN()當需要了解一列中的最大值時,可以使用MAX()函數;同樣,當需要了解一列中的最小值時,可以使用MIN()函數。語法如下。SELECT MAX (column_name) / MIN (column_name)FROM table_name說明:列column_name中的數據可以是數值、字元串或是日期時間數據類型。MAX()/MIN()函數將返回與被傳遞的列同一數據類型的單一值。 均值函數——AVG()函數AVG()用於計算一列中數據值的平均值。語法如下。SELECT AVG (column_name)FROM table_name說明:AVG()函數的執行過程實際上是將一列中的值加起來,再將其和除以非NULL值的數目。所以,與SUM( )函數一樣,AVG()函數只能作用於數值型數據,即列column_name中的數據必須是數值型的。
⑷ sql 語句中那些是聚合函數
常見聚合函數,max(最大)、min(最小)、sum(求和)、avg(平均)等,
示例如下,
1、創建測試表,
create table test_group(id number, value number);
⑸ sql中常用的聚合函數有哪些
聚合函數是對一組值執行計算並返回單一的值的函數,它經常與SELECT語句的GROUP BY子句一同使用,SQL SERVER 中具體有哪些聚合函數呢?我們來一一看一下:
1. AVG 返回指定組中的平均值,空值被忽略。
例:select prd_no,avg(qty) from sales group by prd_no
2. COUNT 返回指定組中項目的數量。
例:select count(prd_no) from sales
3. MAX 返回指定數據的最大值。
例:select prd_no,max(qty) from sales group by prd_no
4. MIN 返回指定數據的最小值。
例:select prd_no,min(qty) from sales group by prd_no
5. SUM 返回指定數據的和,只能用於數字列,空值被忽略。
例:select prd_no,sum(qty) from sales group by prd_no
6. COUNT_BIG 返回指定組中的項目數量,與COUNT函數不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
例:select count_big(prd_no) from sales
7. GROUPING 產生一個附加的列,當用CUBE或ROLLUP運算符添加行時,輸出值為1.當所添加的行不是由CUBE或ROLLUP產生時,輸出值為0.
例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup
8. BINARY_CHECKSUM 返回對表中的行或表達式列表計算的二進制校驗值,用於檢測表中行的更改。
例:select prd_no,binary_checksum(qty) from sales group by prd_no
9. CHECKSUM_AGG 返回指定數據的校驗值,空值被忽略。
例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no
10. CHECKSUM 返回在表的行上或在表達式列表上計算的校驗值,用於生成哈希索引。
11. STDEV 返回給定表達式中所有值的統計標准偏差。
例:select stdev(prd_no) from sales
12. STDEVP 返回給定表達式中的所有值的填充統計標准偏差。
例:select stdevp(prd_no) from sales
13. VAR 返回給定表達式中所有值的統計方差。
例:select var(prd_no) from sales
14. VARP 返回給定表達式中所有值的填充的統計方差。
例:select varp(prd_no) from sales
⑹ 在Sql select語句中.要對查詢結果的記錄個數計數應使用什麼函數
聚合函數COUNT返回組中項目的數量。 語法COUNT({ [ ALL | DISTINCT ] expression ] |*})參數ALL對所有的值進行聚合函數運算。ALL 是默認設置。 DISTINCT指定 COUNT 返回唯一非空值的數量。 expression一個表達式,其類型是除 uniqueidentifier、text、image或ntext之外的任何類型。不允許使用聚合函數和子查詢。*指定應該計算所有行以返回表中行的總數。COUNT(*) 不需要任何參數,而且不能與 DISTINCT 一起使用。COUNT(*) 不需要 expression 參數,因為根據定義,該函數不使用有關任何特定列的信息。COUNT(*) 返回指定表中行的數量而不消除副本。它對每行分別進行計數,包括含有空值的行。 重要當使用 CUBE 或 ROLLUP 時,不支持區分聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用了,Microsoft�0�3 SQL Server�6�4 將返回錯誤信息並取消查詢。 返回類型int注釋COUNT(*) 返回組中項目的數量,這些項目包括 NULL 值和副本。 COUNT(ALL expression) 對組中的每一行都計算 expression 並返回非空值的數量。 COUNT(DISTINCT expression) 對組中的每一行都計算 expression 並返回唯一非空值的數量。 示例A. 使用 COUNT 和 DISTINCT 下面的示例查找作者所居住的不同城市的數量。 USE pubsGOSELECT COUNT(DISTINCT city)FROM authorsGO 下面是結果集: ----------- 16 (1 row(s) affected)B. 使用 COUNT(*) 下面的查詢查找圖書和書名的總數: USE pubsGOSELECT COUNT(*)FROM titlesGO 下面是結果集: ----------- 18 (1 row(s) affected)C. 與其它聚合函數一起使用 COUNT(*) 下面的示例顯示可以與選擇列表中的其它聚合函數結合使用的 COUNT(*)。 USE pubsGOSELECT COUNT(*), AVG(price)FROM titlesWHERE advance $1000GO下面是結果集:
⑺ SQL Server中的聚合函數有哪些
SQL Server中的聚合函數有:
1.count() 所有記錄數
2.count(*)所有非null記錄數
3.avg() 某一列平均值
4.min() 某一列最小值
5.max() 某一列最大值
6.sum() 某一列總和
使用方法:
1. SELECT COUNT(欄位1) FROM 表A 統計欄位1在表A中出現的次數
2. SELECT 學號,SUM(各科成績) FROM student GROUP BY 學號 用來根據統計學生的總成績
⑻ 關於SQL的Count函數
count 是聚合函數,如果你在 select 後面出現了列名,那麼必須在 group by 中出現 列如
select count(*) from 表 這樣是統計整個表
select name , count(*) from 表 group by name
因為前面寫出了 列名 name, 所以必須用 group by 分組統計
⑼ SQL資料庫中聚合函數SUM和COUNT的用法
sum是用作匯總合計
count是匯總記錄數
如select count(*) from table 該語句是匯總表中有多少條記錄
select sum(qty) from table 是匯總某數字型欄位內數量合計
⑽ sql中count是什麼含義
返回組中的項數。COUNT 與 COUNT_BIG 函數類似。兩個函數唯一的差別是它們的返回值。COUNT 始終返回 int 數據類型值。COUNT_BIG 始終返回 bigint 數據類型值。
Transact-SQL 語法約定
語法
COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )
備注
COUNT(*) 返回組中的項數。包括 NULL 值和重復項。
COUNT(ALL expression) 對組中的每一行都計算 expression 並返回非空值的數量。
COUNT(DISTINCT expression) 對組中的每一行都計算 expression 並返回唯一非空值的數量。
對於大於 2^31-1 的返回值,COUNT 生成一個錯誤。這時應使用 COUNT_BIG。
參數
ALL
對所有的值進行聚合函數運算。ALL 是默認值。
DISTINCT
指定 COUNT 返回唯一非空值的數量。
expression
除 text、image 或 ntext 以外任何類型的表達式。不允許使用聚合函數和子查詢。
*
指定應該計算所有行以返回表中行的總數。COUNT(*) 不需要任何參數,而且不能與 DISTINCT 一起使用。COUNT(*) 不需要 expression 參數,因為根據定義,該函數不使用有關任何特定列的信息。COUNT(*) 返回指定表中行數而不刪除副本。它對各行分別計數。包括包含空值的行。
重要事項:
使用 CUBE 或 ROLLUP 時,不支持區分聚合,如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用這些聚合,Microsoft SQL Server 2005 Database Engine 將返回一條錯誤消息並取消查詢。
返回類型
int
示例
A. 使用 COUNT 和 DISTINCT
以下示例列出了在 Adventure Works Cycles 工作的雇員可以擁有的不同標題的數量。
復制代碼
USE AdventureWorks;
GO
SELECT COUNT(DISTINCT Title)
FROM HumanResources.Employee;
GO
下面是結果集:
復制代碼
-----------
67
(1 row(s) affected)
B. 使用 COUNT(*)
以下示例計算 Adventure Works Cycles 的雇員總數。
復制代碼
USE AdventureWorks;
GO
SELECT COUNT(*)
FROM HumanResources.Employee;
GO
下面是結果集:
復制代碼
-----------
290
(1 row(s) affected)
C. 組合使用 COUNT(*) 和其他聚合函數
以下示例顯示可以組合使用 COUNT(*) 和選擇列表中的其他聚合函數。
復制代碼
USE AdventureWorks;
GO
SELECT COUNT(*), AVG(Bonus)
FROM Sales.SalesPerson
WHERE SalesQuota > 25000;
GO
下面是結果集:
復制代碼
----------- ---------------------
14 3472.1428
(1 row(s) affected)