濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值

一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值

熱門(mén)標(biāo)簽:臨沂智能電銷(xiāo)機(jī)器人加盟哪家好 一個(gè)導(dǎo)航軟件能用幾個(gè)地圖標(biāo)注點(diǎn) 申請(qǐng)400電話(huà)在哪辦理流程 外呼運(yùn)營(yíng)商線(xiàn)路收費(fèi) 貴州房產(chǎn)智能外呼系統(tǒng)供應(yīng)商 鎮(zhèn)江網(wǎng)路外呼系統(tǒng)供應(yīng)商 百度地圖標(biāo)注改顏色 小e電話(huà)機(jī)器人 電銷(xiāo)外呼有錄音系統(tǒng)有哪些
效果如圖所示:

測(cè)試sql語(yǔ)句如下:
復(fù)制代碼 代碼如下:

declare @tab table(Class varchar(20),Student varchar(20),Course varchar(50),Quantity decimal(7,2));
insert into @tab(Class,Student,Course,Quantity) values('A班','張三','語(yǔ)文',60);
insert into @tab(Class,Student,Course,Quantity) values('A班','張三','數(shù)學(xué)',70);
insert into @tab(Class,Student,Course,Quantity) values('A班','張三','英語(yǔ)',80);
insert into @tab(Class,Student,Course,Quantity) values('A班','李四','語(yǔ)文',30);
insert into @tab(Class,Student,Course,Quantity) values('A班','李四','數(shù)學(xué)',40);
insert into @tab(Class,Student,Course,Quantity) values('A班','李四','英語(yǔ)',50);

insert into @tab(Class,Student,Course,Quantity) values('B班','王五','語(yǔ)文',65);
insert into @tab(Class,Student,Course,Quantity) values('B班','王五','數(shù)學(xué)',75);
insert into @tab(Class,Student,Course,Quantity) values('B班','王五','英語(yǔ)',85);
insert into @tab(Class,Student,Course,Quantity) values('B班','趙六','語(yǔ)文',35);
insert into @tab(Class,Student,Course,Quantity) values('B班','趙六','數(shù)學(xué)',45);
insert into @tab(Class,Student,Course,Quantity) values('B班','趙六','英語(yǔ)',55);



select * from @tab

select
(case when Grouping(Class)=1 then '總平均' when Grouping(Student)=1 then '' else Class end ) as Class
,(case when Grouping(Class)=1 then '' when Grouping(Student)=1 then '平均' else Student end) as Student
,avg(語(yǔ)文) as 語(yǔ)文
,avg(數(shù)學(xué)) as 數(shù)學(xué)
,avg(英語(yǔ)) as 英語(yǔ)
,avg(總分) as 總分
from (
select Class,Student
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student and Course='語(yǔ)文') as '語(yǔ)文'
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student and Course='數(shù)學(xué)') as '數(shù)學(xué)'
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student and Course='英語(yǔ)') as '英語(yǔ)'
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student) as '總分'
from @tab as t
group by Class,Student
) as tempTab
group by Class,Student,語(yǔ)文,數(shù)學(xué),英語(yǔ),總分 with rollup
having Grouping(語(yǔ)文)=1
and Grouping(數(shù)學(xué))=1
and Grouping(英語(yǔ))=1
您可能感興趣的文章:
  • sql分組后二次匯總(處理表重復(fù)記錄查詢(xún)和刪除)的實(shí)現(xiàn)方法
  • SQL SERVER 分組求和sql語(yǔ)句
  • 顯示同一分組中的其他元素的sql語(yǔ)句
  • sql獲取分組排序后數(shù)據(jù)的腳本
  • SQL進(jìn)行排序、分組、統(tǒng)計(jì)的10個(gè)新技巧分享
  • SQL分組排序去重復(fù)的小實(shí)例
  • 以數(shù)據(jù)庫(kù)字段分組顯示數(shù)據(jù)的sql語(yǔ)句(詳細(xì)介紹)
  • SQL中Group分組獲取Top N方法實(shí)現(xiàn)可首選row_number
  • Sql Server:多行合并成一行,并做分組統(tǒng)計(jì)的兩個(gè)方法
  • Sql Server 分組統(tǒng)計(jì)并合計(jì)總數(shù)及WITH ROLLUP應(yīng)用
  • SQL語(yǔ)句分組獲取記錄的第一條數(shù)據(jù)的方法
  • sqlserver巧用row_number和partition by分組取top數(shù)據(jù)
  • sql 分組查詢(xún)問(wèn)題
  • SQLserver 實(shí)現(xiàn)分組統(tǒng)計(jì)查詢(xún)(按月、小時(shí)分組)
  • 分組后分組合計(jì)以及總計(jì)SQL語(yǔ)句(稍微整理了一下)

標(biāo)簽:澳門(mén) 晉城 三明 嘉興 延邊 保定 日照 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值》,本文關(guān)鍵詞  一句,Sql,把,縱向,表,轉(zhuǎn)為,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    沽源县| 达拉特旗| 林口县| 芦山县| 翁牛特旗| 鲁山县| 怀远县| 突泉县| 天峨县| 无棣县| 越西县| 公主岭市| 仁布县| 通州市| 乌兰察布市| 吉隆县| 慈溪市| 磴口县| 洪江市| 错那县| 宣武区| 吴桥县| 广水市| 沅陵县| 旅游| 包头市| 务川| 阿克苏市| 图片| 昌都县| 钟祥市| 莱芜市| 阳山县| 乐昌市| 泰顺县| 奇台县| 崇义县| 当阳市| 雷州市| 新平| 绩溪县|