濮阳杆衣贸易有限公司

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

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

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

測試sql語句如下:
復制代碼 代碼如下:

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班','張三','語文',60);
insert into @tab(Class,Student,Course,Quantity) values('A班','張三','數(shù)學',70);
insert into @tab(Class,Student,Course,Quantity) values('A班','張三','英語',80);
insert into @tab(Class,Student,Course,Quantity) values('A班','李四','語文',30);
insert into @tab(Class,Student,Course,Quantity) values('A班','李四','數(shù)學',40);
insert into @tab(Class,Student,Course,Quantity) values('A班','李四','英語',50);

insert into @tab(Class,Student,Course,Quantity) values('B班','王五','語文',65);
insert into @tab(Class,Student,Course,Quantity) values('B班','王五','數(shù)學',75);
insert into @tab(Class,Student,Course,Quantity) values('B班','王五','英語',85);
insert into @tab(Class,Student,Course,Quantity) values('B班','趙六','語文',35);
insert into @tab(Class,Student,Course,Quantity) values('B班','趙六','數(shù)學',45);
insert into @tab(Class,Student,Course,Quantity) values('B班','趙六','英語',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(語文) as 語文
,avg(數(shù)學) as 數(shù)學
,avg(英語) as 英語
,avg(總分) as 總分
from (
select Class,Student
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student and Course='語文') as '語文'
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student and Course='數(shù)學') as '數(shù)學'
,(select isnull(sum(Quantity),0) from @tab where Class=t.Class and Student=t.Student and Course='英語') as '英語'
,(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,語文,數(shù)學,英語,總分 with rollup
having Grouping(語文)=1
and Grouping(數(shù)學)=1
and Grouping(英語)=1
您可能感興趣的文章:
  • sql分組后二次匯總(處理表重復記錄查詢和刪除)的實現(xiàn)方法
  • SQL SERVER 分組求和sql語句
  • 顯示同一分組中的其他元素的sql語句
  • sql獲取分組排序后數(shù)據(jù)的腳本
  • SQL進行排序、分組、統(tǒng)計的10個新技巧分享
  • SQL分組排序去重復的小實例
  • 以數(shù)據(jù)庫字段分組顯示數(shù)據(jù)的sql語句(詳細介紹)
  • SQL中Group分組獲取Top N方法實現(xiàn)可首選row_number
  • Sql Server:多行合并成一行,并做分組統(tǒng)計的兩個方法
  • Sql Server 分組統(tǒng)計并合計總數(shù)及WITH ROLLUP應用
  • SQL語句分組獲取記錄的第一條數(shù)據(jù)的方法
  • sqlserver巧用row_number和partition by分組取top數(shù)據(jù)
  • sql 分組查詢問題
  • SQLserver 實現(xiàn)分組統(tǒng)計查詢(按月、小時分組)
  • 分組后分組合計以及總計SQL語句(稍微整理了一下)

標簽:澳門 晉城 三明 嘉興 延邊 保定 日照 合肥

巨人網(wǎng)絡通訊聲明:本文標題《一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值》,本文關(guān)鍵詞  一句,Sql,把,縱向,表,轉(zhuǎn)為,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值》相關(guān)的同類信息!
  • 本頁收集關(guān)于一句Sql把縱向表轉(zhuǎn)為橫向表,并分別分組求平均和總平均值的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    延安市| 卢氏县| 麻栗坡县| 出国| 新河县| 环江| 田林县| 通化市| 奉节县| 临潭县| 易门县| 葫芦岛市| 土默特左旗| 斗六市| 安阳市| 澳门| 毕节市| 郑州市| 镇雄县| 邯郸市| 鲜城| 崇明县| 偃师市| 枣阳市| 曲靖市| 姚安县| 清徐县| 孟连| 凌云县| 利辛县| 博客| 大荔县| 芜湖市| 贵南县| 衡山县| 赣榆县| 阿勒泰市| 光山县| 水城县| 高青县| 文山县|