導航:首頁 > 數據處理 > 資料庫聚合函數有哪些

資料庫聚合函數有哪些

發布時間:2022-02-04 13:10:07

A. 關於資料庫中聚合函數問題

聚合函數對一組值執行計算並返回單一的值。聚合函數忽略空值。聚合函數經常與 SELECT 語句的 GROUP BY 子句一同使用。
所有聚合函數都具有確定性。任何時候用一組給定的輸入值調用它們時,都返回相同的值。有關函數確定性的更多信息,請參見確定性函數和非確定性函數。
僅在下列項中聚合函數允許作為表達式使用:
SELECT 語句的選擇列表(子查詢或外部查詢)。
COMPUTE 或 COMPUTE BY 子句。
HAVING 子句。
Transact-SQL 編程語言提供下列聚合函數:
AVG MAX
BINARY_CHECKSUM MIN
CHECKSUM SUM
CHECKSUM_AGG STDEV
COUNT STDEVP
COUNT_BIG VAR
GROUPING VARP

B. 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 學號 用來根據統計學生的總成績

C. 資料庫聚合函數count和count的區別

count 是用於統計查詢結果的個數,屬於聚合函數。

可以通過以下方面進行了解:

利用臨時表進行測試

withtbas
(
select1nfromalunionall
select1nfromalunionall
selectnullnfromalunionall
select2nfromalunionall
select3nfromal
)

1, 獲取查詢結果總行數

selectcount(*)fromtb;--5

由tb數據可見,tb中共有5條數據。

2,查詢非null欄位的行數

selectcount(n)fromtb;--4

該語句查詢欄位n不為null的總數量,由tb可見,n有一行為null,所以結果為4.

需要注意,若n為非null欄位,查詢總數時,使用count(*) 比 count(n)速度要快。

原因是count(欄位)在統計時,若欄位為null,計數不加。若欄位不是null,計數+1.

3, 統計非空欄位的非重復的內容數量

selectcount(distinctn)fromtb;--3

由於count(n)為獲取非null欄位數量。distinct為去掉重復值。所以,此結果為先去掉n的重復值再統計。

4,計算欄位的非重復數量

selectcount(distinctnvl(n,4)fromtb;--5

先提供null值為一個n中不存在的值,然後去掉重復值進行統計。

效果等同於

selectcount(distinctn)+1fromtb;

D. sql聚合函數有哪些

聚集函數
和大多數其它關系資料庫產品一樣,PostgreSQL 支持聚集函數。一個聚集函數從多個輸入行中計算出一個結果。比如,我們有在一個行集合上計算 count(數目), sum(總和), avg(均值), max(最大值), min(最小值)的函數。

比如,我們可以用下面的語句找出所有低溫中的最高溫度:

SELECT max(temp_lo) FROM weather; max
-----
46
(1 row)如果我們想知道該讀數發生在哪個城市,可能會用:

SELECT city FROM weather WHERE temp_lo = max(temp_lo); -- 錯!不過這個方法不能運轉,因為聚集函數 max 不能用於 WHERE 子句中。存在這個限制是因為 WHERE 子句決定哪些行可以進入聚集階段;因此它必需在聚集函數之前計算。不過,我們可以用其它方法實現這個目的;這里我們使用子查詢:

SELECT city FROM weather
WHERE temp_lo = (SELECT max(temp_lo) FROM weather); city
---------------
San Francisco
(1 row)這樣做是可以的,因為子查詢是一次獨立的計算,它獨立於外層查詢計算自己的聚集。

聚集同樣也常用於 GROUP BY 子句。比如,我們可以獲取每個城市低溫的最高值:

SELECT city, max(temp_lo)
FROM weather
GROUP BY city; city | max
---------------+-----
Hayward | 37
San Francisco | 46
(2 rows)這樣每個城市一個輸出。每個聚集結果都是在匹配該城市的行上面計算的。我們可以用 HAVING 過濾這些分組:

SELECT city, max(temp_lo)
FROM weather
GROUP BY city
HAVING max(temp_lo) < 40; city | max
---------+-----
Hayward | 37
(1 row)這樣就只給出那些 temp_lo 值曾經有低於 40 度的城市。最後,如果我們只關心那些名字以"S"開頭的城市,我們可以用:

SELECT city, max(temp_lo)
FROM weather
WHERE city LIKE 'S%'
GROUP BY city
HAVING max(temp_lo) < 40;語句中的 LIKE 執行模式匹配,在節9.7里有解釋。

理解聚集和 SQL 的 WHERE 和 HAVING 子句之間的關系非常重要。WHERE 和 HAVING 的基本區別如下:WHERE 在分組和聚集計算之前選取輸入行(它控制哪些行進入聚集計算),而 HAVING 在分組和聚集之後選取輸出行。因此,WHERE 子句不能包含聚集函數;因為試圖用聚集函數判斷那些行將要輸入給聚集運算是沒有意義的。相反,HAVING 子句總是包含聚集函數。當然,你可以寫不使用聚集的 HAVING 子句,但這樣做沒什麼好處,因為同樣的條件可以更有效地用於 WHERE 階段。

在前面的例子里,我們可以在 WHERE 里應用城市名稱限制,因為它不需要聚集。這樣比在 HAVING 里增加限制更加高效,因為我們避免了為那些未通過 WHERE 檢查的行進行分組和聚集計算。

E. oracle聚合函數有哪些

--1: AVG(DISTINCT|ALL)
ALL表示對所有的值求平均值,DISTINCT只對不同的值求平均值

SELECT AVG(SAL) FROM SCOTT.EMP;

SELECT AVG(DISTINCT SAL) FROM SCOTT.EMP;

--2: MAX(DISTINCT|ALL)
求最大值,ALL表示對所有的值求最大值,DISTINCT表示對不同的值求最大值,相同的只取一次
(加不加查詢結果一致,不知DISTINCT有什麼用途,不同於AVG等聚合函數)

SELECT MAX(DISTINCT SAL) FROM SCOTT.EMP;

SELECT MAX(SAL) FROM SCOTT.EMP

--3: MIN(DISTINCT|ALL)
求最小值,ALL表示對所有的值求最小值,DISTINCT表示對不同的值求最小值,相同的只取一次

SELECT MIN(SAL) FROM SCOTT.EMP;

SELECT MIN(DISTINCT SAL) FROM SCOTT.EMP;

--4: STDDEV(distinct|all)
求標准差,ALL表示對所有的值求標准差,DISTINCT表示只對不同的值求標准差

SELECT STDDEV(SAL) FROM SCOTT.EMP;

SELECT STDDEV(DISTINCT SAL) FROM SCOTT.EMP;

--5: VARIANCE(DISTINCT|ALL)
求協方差 ALL表示對所有的值求協方差,DISTINCT表示只對不同的值求協方差

SELECT VARIANCE(SAL) FROM SCOTT.EMP;

SELECT VARIANCE(DISTINCT SAL) FROM SCOTT.EMP;

--6: SUM(DISTINCT|ALL)
求和 ALL表示對所有值求和,DISTINCT表示只對不同值求和(相同值只取一次)

SELECT SUM(SAL) FROM SCOTT.EMP;

SELECT SUM(DISTINCT SAL) FROM SCOTT.EMP;

--7:COUNT(DISTINCT|ALL)
求記錄、數據個數。 ALL對所有記錄,數組做統計, DISTINCT只對不同值統計(相同值只取一次)

SELECT COUNT(SAL) FROM SCOTT.EMP;

SELECT COUNT(DISTINCT SAL) FROM SCOTT.EMP;

----8: MEDIAN
求中位數
SELECT MEDIAN(SAL) FROM SCOTT.EMP;
SELECT MEDIAN(DISTINCT SAL) FROM SCOTT.EMP; --錯誤:DISTINCT 選項在此函數中禁用。

F. SQL 對字元串的聚合函數是什麼

字元串 SUM 是什麼含義?

只有COUNT 這個是有含義的。

你說的拼字元的意思是 只能通過自己做的函數來實現 資料庫好像沒有這樣的函數。

G. sql 語句中那些是聚合函數

常見聚合函數,max(最大)、min(最小)、sum(求和)、avg(平均)等,

示例如下,

1、創建測試表,

create table test_group(id number, value number);

H. 資料庫查詢,關於聚合函數 max()的用法。

錯的 聚集函數只能用於select和group by中的having子句

I. 資料庫 sql語句 聚合函數

select top 1 sum(btotal) as thesum,bpublish from book group by bpublish order by thesum desc

J. mysql中常用的聚合函數有哪些

一、AVG

AVG(col):返回指定列的平均值

二、COUNT

COUNT(col):返回指定列中非NULL值的個數

三、MIN/MAX

MIN(col):返回指定列的最小值

MAX(col):返回指定列的最大值

四、SUM

SUM(col):返回指定列的所有值之和

五、GROUP_CONCAT

GROUP_CONCAT([DISTINCT] expr [,expr ...]

[ORDER BY {unsigned_integer | col_name | expr}

[ASC | DESC] [,col_name ...]]

[SEPARATOR str_val])

返回由屬於一組的列值連接組合而成的結果

(10)資料庫聚合函數有哪些擴展閱讀

增加新用戶

(注意:和上面不同,下面的因為是 MySQL 環境中的命令,所以後面都帶一個分號作為命令結束符)

格式:grant select on 資料庫.* to 用戶名@登錄主機 identified by 「密碼」

例1、增加一個用戶 test1 密碼為 abc,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以 root 用戶連入 MySQL,然後鍵入以下命令:

grant select,insert,update,delete on *.* to test1@「%」 Identified by 「abc」;

但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的mysql資料庫並對你的數據可以為所欲為了,解決辦法見例2。

例2、增加一個用戶 test2 密碼為 abc,讓他只可以在 localhost 上登錄,並可以對資料庫 mydb 進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過MYSQL主機上的web頁來訪問了。

grant select, insert, update, delete on mydb.* to test2@localhost identified by 「abc」;

如果你不想 test2 有密碼,可以再打一個命令將密碼消掉。

grant select, insert, update, delete on mydb.* to test2@localhost identified by 「」;

下面來看看 MySQL 中有關資料庫方面的操作。注意:必須首先登錄到 MySQL 中,以下操作都是在 MySQL 的提示符下進行的,而且每個命令以分號結束。

閱讀全文

與資料庫聚合函數有哪些相關的資料

熱點內容
全球稅務信息透明後會怎麼樣 瀏覽:157
包頭輕工職業技術學院多少分進 瀏覽:219
今年雙十一交易額在多少 瀏覽:422
市場營銷中介包括哪些 瀏覽:838
為什麼英德農產品賣得那麼火 瀏覽:851
在哪些平台如何才能進行外匯交易 瀏覽:616
歷史價格數據怎麼存儲比較好 瀏覽:380
如何決定一個交易者的行為 瀏覽:316
在交易貓賣號怎麼改 瀏覽:641
代理商超市欠貨款怎麼辦 瀏覽:494
刮刮卡代理點怎麼做 瀏覽:328
如何查詢養老金的信息 瀏覽:605
小香港黃金交易哪個平台好 瀏覽:733
形態學實驗技術是什麼 瀏覽:520
學習電工維修技術哪裡學 瀏覽:495
華為手機防觸摸程序哪裡關掉 瀏覽:697
怎麼加盟代理項目 瀏覽:798
白雲旅遊職業技術學校怎麼樣 瀏覽:46
實體店代理奶粉怎麼做 瀏覽:862
vb創新產品部是做什麼 瀏覽:848