當前位置:首頁 » 操作系統 » 資料庫聚合

資料庫聚合

發布時間: 2023-02-03 03:35:55

1. 資料庫中聚集索引、非聚集索引、填充因子的概念

聚集索引(Clustered Index):對表的物理數據頁中的數據按列進行排序,然後再重新存儲到磁碟上,即如果說在一個表中建立了聚集索引,則表中的數據頁會在會按照索引的順序來存放
非聚集索引(Nonclustered Index):具有完全獨立於數據行的結構,使用非聚集索引不用將物理數據頁中的數據按列排序,即非聚集索引不會影響數據表中記錄的實際存儲順序。非聚集索引的葉節點存儲了組成非聚集索引的關鍵字值和行定位器。
填充因子:指索引中一個葉子節點的填充率,若都填滿就是100%,若填充率為50%,則只有一半的數據

2. sql資料庫中聚合函數SUM和COUNT的用法

sum是用作匯總合計
count是匯總記錄數
如select count(*) from table 該語句是匯總表中有多少條記錄
select sum(qty) from table 是匯總某數字型欄位內數量合計

3. 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
檢查的行進行分組和聚集計算。

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

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

示例如下,

1、創建測試表,

create table test_group(id number, value number);

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

  1. MAX()/MIN()是指SQL中的最大/最小值函數

  2. 因為聚合函數處理的是數據組,在本例中,MAX函數將整個TEACHER表看成一組

  3. 而TNAME、DNAME和TSEX的數據都沒有進行任何分組,因此SELECT語句沒有邏輯意義

  4. MAX()和MIN()函數不僅可以作用於數值型數據,也可以作用於字元串或是日期時間數據類型的數據。

  5. SQL 如下:

  6. 實例MAX()函數用於字元型數據

  7. 如下面代碼:

  8. SELECT MAX (a) AS MAXNAME

  9. FROMA

熱點內容
ftp自動備份怎麼用 發布:2025-07-17 17:19:41 瀏覽:886
如何看到存儲的密碼cookie 發布:2025-07-17 17:19:38 瀏覽:233
androidmidi 發布:2025-07-17 17:08:37 瀏覽:161
數控折彎機編程圖解 發布:2025-07-17 17:03:39 瀏覽:198
電腦怎樣設置伺服器 發布:2025-07-17 17:02:09 瀏覽:902
撿到蘋果8有密碼怎麼辦 發布:2025-07-17 16:51:50 瀏覽:98
安卓版哪個系統好用 發布:2025-07-17 16:43:05 瀏覽:359
797遠程訪問伺服器怎麼設置 發布:2025-07-17 16:42:49 瀏覽:216
我的世界伺服器備份多少個人 發布:2025-07-17 16:41:57 瀏覽:52
怎麼緩存海賊王 發布:2025-07-17 16:35:59 瀏覽:467