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

資料庫聚合

發布時間: 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

熱點內容
api開發php 發布:2025-09-16 22:06:15 瀏覽:593
mysql自動備份linux 發布:2025-09-16 21:58:33 瀏覽:941
怎麼用自己的伺服器ip做域名 發布:2025-09-16 21:49:57 瀏覽:914
vc為什麼能編譯不能用 發布:2025-09-16 21:48:03 瀏覽:741
編譯原理沖突圖的定義 發布:2025-09-16 21:26:45 瀏覽:807
安卓手機芯哪個牌子好 發布:2025-09-16 21:26:33 瀏覽:205
centos編譯安裝git 發布:2025-09-16 21:19:55 瀏覽:973
安卓系統如何使用手機優盤 發布:2025-09-16 21:14:01 瀏覽:330
在手機上注冊公積金如何設置密碼 發布:2025-09-16 21:07:01 瀏覽:822
無控制器存儲 發布:2025-09-16 21:02:44 瀏覽:715