91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL Server2000聚合函數(shù)和空值

admin
2011年3月13日 0:27 本文熱度 3786
SQL Server2000的聚合函數(shù)大都會(huì)忽略空值,所以在含有空值的列上使用聚合函數(shù)時(shí)需格外謹(jǐn)慎。例如有一個(gè)Student表如下:



我們用下邊SQL語句統(tǒng)計(jì)下人數(shù)、平均年齡、最大年齡、最小年齡:



 程序代碼

select
    count(*) as count1,
    count(age) as count2,
    avg(age) as [avg],
    max(age) as [max],
    min(age) as [min]
from Student



 引用內(nèi)容

count1      count2      avg         max         min        
----------- ----------- ----------- ----------- -----------
3           2           21          22          20

可以看到,除了count(*),其他聚合函數(shù)都忽略了stu3。可以使用isnull函數(shù)給空值設(shè)置一個(gè)默認(rèn)值,讓聚合函數(shù)不忽略該行:



 程序代碼

select
    count(*) as count1,
    count(isnull(age,0)) as count2,
    avg(age) as [avg],
    max(age) as [max],
    min(age) as [min]
from Student



 引用內(nèi)容

count1      count2      avg         max         min        
----------- ----------- ----------- ----------- -----------
3           3           21          22          20

注意:對(duì)avg、max、min聚合函數(shù)不應(yīng)使用isnull,否則會(huì)出現(xiàn)用兩個(gè)人的年齡計(jì)算三個(gè)人的平均年齡,這顯然是不合理的。

很多時(shí)候,我們都會(huì)給字段設(shè)置一個(gè)默認(rèn)值,當(dāng)字段值為空值時(shí)就使用默認(rèn)值,再看Student表:



我們用下邊SQL語句統(tǒng)計(jì)下人數(shù)、平均年齡、最大年齡、最小年齡:



 程序代碼

select
    count(*) as count1,
    count(age) as count2,
    avg(age) as [avg],
    max(age) as [max],
    min(age) as [min]
from Student



 引用內(nèi)容

count1      count2      avg         max         min        
----------- ----------- ----------- ----------- -----------
3           3           14          22          0

很顯然,avg、min的值不是我們想要的,avg和min都應(yīng)忽略stu3,這時(shí)我們可以用nullif函數(shù)讓聚合函數(shù)忽略它:



 程序代碼

select
    count(*) as count1,
    count(nullif(age,0)) as count2,
    avg(nullif(age,0)) as [avg],
    max(nullif(age,0)) as [max],
    min(nullif(age,0)) as [min]
from Student



 引用內(nèi)容

count1      count2      avg         max         min        
----------- ----------- ----------- ----------- -----------
3           2           21          22          20


說明:當(dāng)以文本顯示查詢時(shí),若對(duì)含空值的列使用聚合函數(shù),SQL查詢分析器會(huì)發(fā)出警告。


 引用內(nèi)容

count1      count2      avg         max         min        
----------- ----------- ----------- ----------- -----------
3           2           21          22          20

(所影響的行數(shù)為 1 行)

警告: 聚合或其它 SET 操作消除了空值。

該文章在 2011/3/13 0:27:51 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日产国产欧美视 | 日本妞干网 | 久在线观看免 | 福利导航在线播放 | 果冻剧精品传媒入口 | 国产一区二区在 | 午夜视频国产在线 | 国产高清在 | 欧美最新a级 | 成人自拍视频在 | 日本中文字幕精 | 国产91热爆91啪| 妹子干综合 | 成人午夜免费观看 | 国产午夜羞羞 | 精品入口 | 无码精品视频 | 日韩精品在线第一页 | 日本精品影视国产 | 国产精品1 | 日韩+欧美一区 | 日本一区不卡在线 | 99福利导航网 | 伦理大片在线观看 | 日韩成人福利 | 91福利社免费观看 | 福利片91 | 午夜热门精品一 | 国产精品女人一区 | 日韩色视| 国产福利免费视频 | 国内自拍中文欧美 | 欧美性色欧美a | 午夜家庭影 | 国产专区三妖 | 国产91在 | 任你躁在线精 | 国产精品美女 | 女同91伊人 | 成人国产精 | 国产在线激情视频 |