本篇文章為大家展示了如何解析SQLServer任意列之間的聚合,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的韓城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
sql的max之類的聚合函數(shù)只能針對(duì)同一列的n行運(yùn)算,如果對(duì)n列運(yùn)算,一般都用case 語句來判斷,如果列少還比較容易寫,列多了就麻煩了。
/* 測(cè)試名稱:利用 XML 求任意列之間的聚合 測(cè)試功能:對(duì)一張表的列數(shù)據(jù)做 min 、 max 、 sum 和 avg 運(yùn)算 運(yùn)行原理:字段合并為 xml 后做 xquery 查詢轉(zhuǎn)為行集后聚合 */
-- 建立測(cè)試環(huán)境declare @t table ( id smallint , a smallint , b smallint , c smallint , d smallint , e smallint , f smallint ) insert into @t select 1, 1, 2, 3, 4, 6, 7 union all select 2, 34, 45, 56, 54, 9, 6
-- 測(cè)試語句select a.*, c.* from @t a outer apply( select doc=( select * from @t as doc where id= a. id for xml path ( '' ), type ) ) b outer apply( select min ( r) as minValue, max ( r) as maxValue, sum ( r) as sumValue, avg ( r) as avgValue from ( select cast ( cast ( d. n. query( 'text()' ) as varchar ( max )) as int ) as r from doc. nodes( '/a,b,c,d,e,f' ) D( n)) tt ) c
/* 測(cè)試結(jié)果id a b c d e f minValue maxValue sumValue avgValue --- 1 1 2 3 4 6 7 1 7 23 3 2 34 45 56 54 9 6 6 56 204 34 */
上述內(nèi)容就是如何解析SQLServer任意列之間的聚合,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享標(biāo)題:如何解析SQLServer任意列之間的聚合
當(dāng)前路徑:http://aaarwkj.com/article34/pchppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、Google、App開發(fā)、自適應(yīng)網(wǎng)站、品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)