sql聚合
㈠ 在sql中什麼是聚合函數 啊
select sum(欄位名) from 表名
sum 就是一個聚合函數,求某一欄位的值
㈡ 資料庫 sql語句 聚合函數
select top 1 sum(btotal) as thesum,bpublish from book group by bpublish order by thesum desc
㈢ 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 語句中那些是聚合函數
常見聚合函數,max(最大)、min(最小)、sum(求和)、avg(平均)等,
示例如下,
1、創建測試表,
create table test_group(id number, value number);
㈤ SQL 用多個聚合函數匯總查詢結果
SELECT DISTINCT
'計劃號'=A.BAT_NO,'訂單貨品名稱'=C.NAME,
'種類總數'=COUNT(DISTINCT A.MO_NO),
'件數總數'=SUM(A.QTY),
'工時總數'=SUM(B.USED_TIME),
'完成件數'=SUM(DISTINCT A.QTY) ,
'完成種數'=COUNT(DISTINCT A.MO_NO) ,
'完成工時'=SUM(DISTINCT B.USED_TIME)
FROM MF_MO A LEFT JOIN MF_TZ B ON A.MO_NO=B.MO_NO
LEFT JOIN PRDT C ON A.MRP_NO_SO=C.PRD_NO
WHERE BIL_MAK='T' and A.CLOSE_ID='T' and B.CLOSE_ID='T'
GROUP BY A.BAT_NO,C.NAME
ORDER BY A.BAT_NO,C.NAME
看這樣是你想要的結果嗎?
㈥ SQL聚合之後再聚合
SELECT TOP 1 COUNT(課程號)
FROM 課程表
GROUP BY 課程號
ORDER BY COUNT(課程號) ASC
㈦ 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聚合函數有哪些
聚集函數
和大多數其它關系資料庫產品一樣,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 檢查的行進行分組和聚集計算。
㈨ 請問sql中的聚合是什麼意思啊,請舉例說明。謝謝。
聚合 是一個集合吧單個數值。
如 最大值 平均值等
㈩ sql有那些聚合函數
sum求和
count 求計數
ave 求平均值