說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732
全網監測海量數據按需發布監測預警
實時把握輿情動態精準追溯信息源頭
聚合函數是sql當中一個最基本的函數,sql距,那么就一定要接觸到聚合函數的相關內容,那么聚合函數究竟是如何使用的呢?今天我們就一起來看一看sql語句當中的聚合函數使用方法吧。
聚合函數——SQL語句中聚合函數的使用
寫上一個創建表的SQL語句.當然我下面的寫法只支持SQLSERVER2008數據庫以上的寫法.
CREATETABLE學生表
學生IDINTIDENTITY(1,1)NOTNULL,
學號INTNULL,
期中分數INTNULL,
期末分數INTNULL
INSERTINTO學生表(學號,期中分數,期末分數)
VALUES,85,80),
(2,NULL,75),
(3,NULL,85),
(4,NULL),,80);
SELECT*FROM學生表;
一條查詢語句,我們看到了剛才插入的全部結果.
我們來顯示學生成績中,期中考試分數最低的和期末考試分數最好的.
SELECTMIN(期中分數)AS期中最低分數,MAX(期末分數)AS期末最高分數FROM學生表;
我們來求一下期中考試分數的平均分數.
我們數據庫里面一共有5條數據.
85,NULL,NULL,80,85
我們的結果是83分.
我們的聚合函數如果遇到NULL值的話,就會跳過去,不計算.
所以我們的結果是(85+80+85)/3=83!
查詢學生表中有效的期末分數,得出的結果是3條.
SELECTCOUNT(期中分數)FROM學生表;
所以,大家一定要記得.聚合函數遇到空值會跳過去.
ORACLE優化SQL語句
一、執行順序及優化細則
1.表名順序優化(1)基礎表放下面,當兩表進行關聯時數據量少的表的表名放右邊表或視圖:
(2)當出現多個表時,關聯表被稱之為交叉表,交叉表作為基礎表
2.WHERE執行順序WHERE執行會從至下往上執行擺放WHERE子句時,把能過濾大量數據的條件放在最下邊
3.ISNULL和ISNOTNULL當要過濾列為空數據或不為空的數據時使用
4.使用表別名當查詢時出現多個表時,查詢時加上別名,避免出現減少解析的時間字段歧義引起的語法錯誤。
WHERE執行速度比HING快盡可能的使用WHERE代替HING
6.*號引起的執行效率盡量減少使用SELECT*來進行查詢,當你查詢使用*,數據庫會進行解析并將*轉換為全部列。
二、替代優化1、用>=替代>
2、用UNION替換OR(適用于索引列)
3、用IN代替OR
4、UNIONALL與UNIONUNIONALL重復輸出兩個結果集合中相同記錄如果兩個并集中數據都不一樣.那么使用UNIONALL與UNION是沒有區別的,
5、分離表和索引總是將你的表和索引建立在另外的表空間內決不要將這些對象存放到SYSTEM表空間里
三、一些優化技巧
1、計算表的記錄數時 SELECTCOUNT(SI.STUDENT_ID)FROMSTUDENT_INFOSI(STUDENT_ID為索引)與SELECTCOUNT(*)FROMSTUDENT_INFOSI執行時.上面的語句明顯會比下面沒有用索引統計的語句要快
2.使用函數提高SQL執行速度
當出現復雜的查詢SQL語名,可以考慮使用函數來提高速度查詢學生信息并查詢學生(李明)個人信息與的數學成績排名如
4、用EXISTS(NOTEXISTS)代替IN(NOTIN)
在執行當中使用EXISTS或者NOTEXISTS可以高效的進行查詢
以上就是聚合函數如何使用的所有內容,這些都是一些基礎的知識點,如果大家還想更加深入的了解聚合函數,那么可以關注我們文軍營銷的官網,在這里面還有更多精彩的內容等著你去發現。
推薦閱讀
說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732