SQL資料庫SQL語句實現行轉列

2021-09-01 22:32:31 字數 970 閱讀 9107

最近負責的模組設計到統計,由於前期設計思路比較清晰,在統計這塊,只需要從資料庫中統計出相關資料庫就可以了。

統計表:表頭:檔案型別、(所選年份)1-12月份

但是直接出去來的資料,無法直接在頁面上展示:

[img]

執行語句:

select count(*) as totalcount,archivetype,month([archivedate]) as yuefen from gd_documents where status!=3 and convert(varchar(20),archivedate,23) like '2014%' group by archivetype,month([archivedate]) order by archivetype, month([archivedate])

這樣取出來的資料,還需要在後台進行處理,處理的方式會比較麻煩。我就在想,有沒有辦法可以直接把最後一列的月份直接轉換成行,同時型別一樣的檔案直接合併成一行,同時這一行的統計資料作為哪一月份的資料?

pivot...for

sql提供了這個個方法,可以實現行轉列。

得到的結果將是如下:

[img]

執行語句:

select * from (select archivetype,count(*) as totalcount,month([archivedate]) as yuefen from gd_documents where status!=3 and convert(varchar(20),archivedate,23) like '2014%' group by archivetype,month([archivedate])) a

pivot (max(totalcount)

for yuefen

in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) b

資料庫SQL語句實現

1 建立資料庫 create database if not exists cs2013 2 建立資料庫 create table if not exists comp id int not null primary key auto increment pid varchar 30 not nul...

SQL語句實現行轉列查詢

表sales 查詢結果如下 1 建表 create table dbo sales id int identity 1,1 not null,year int null,jidu int null,jine int null,primary key clustered id asc with pad...

資料庫 SQL語句

在sql語言中,我們可以通過create database去建立資料庫,語法格式如下所示 create database 資料庫名 就比如我們可以建立乙個學校資料庫 create database schooldb 建立表的操作 create table 表名稱 列名稱1 資料型別,列名稱2 資料型...