Sql的行列轉換
創建表scores
一、傳統的行列轉換
縱表轉橫表
我們要轉成的橫表是這樣子的:
pivot是sql server 2005 提供的運算符,所以只要數據庫在05版本以上的都可以使用。主要用於行和列的轉換。
pivot縱表轉橫表
select
t2.姓名,
t2.數學,
t2.物理,
t2.語文
from Scores as t1
pivot (sum(分數) for 課程 in(數學,語文,物理)) as t2
pivot將原來表中 課程字段中的 數據行 數學,語文,物理 轉換為列,並用sum取對應列的值。
unpivot 橫表轉縱表
select
*
from
scores2
unpivot (分數 for 課程 in (語文,數學,物理)) as t3
unpivot 將 語文,數學,物理 列轉為行,分數為新的一列存放對應的值。
Sql的行列轉換
相關推薦
SQL行列轉換6種方法
ati cin 列名 ada ott 計劃 ase mit all 在進行報表開發時,很多時候會遇到行列轉換操作,很對開發人員針對於SQL級別行列轉換操作一直不甚理解,今天正好抽空對其進行了一些簡單的總結。這裏主要列舉3種可以實現SQL行列轉換的方法,包括通用SQL解法以及
hive sql 行列轉換
-- 對一張大表的每一行,後面加多種label值 -- 其實就是笛卡爾積,舉例 -- SELECT * FROM dev.dev_jiadian_user_yuge_temp -- CROSS JOIN -- ( -- SELECT 0 AS label -- UNION ALL --
SQL中PIVOT 行列轉換
tor 子句 輸入 ble ont 運算符 之間 忽略 sql語句 本文導讀:T-SQL語句中,Pivot運算符用於在列和行之間對數據進行旋轉或透視轉換,PIVOT命令可以實現數據表的列轉行,同時執行聚合運算,UNPIVOT則與其相反,實現數據的行轉列。 PIVOT通過將
Sql的行列轉換
serve server .com unpivot 新的 nbsp div code image 創建表scores 一、傳統的行列轉換 縱表轉橫表 我們要轉成的橫表是這樣子的: pivot是sql server 2005 提供的運算符,所以只要數據庫在05版本以上
MySQL中行列轉換的SQL技巧 • cenalulu's Tech Blog
詳細介紹MySQL中用SQL實現行列轉換的技巧 行列轉換常見場景 由於很多業務表因為歷史原因或者效能原因,都使用了違反第一正規化的設計模式。即同一個列中儲存了多個屬性值(具體結構見下表)。 這種模式下,應用常常需要將這個列依據分隔符進行分割,並得到列轉行的結果。 表資料:
[資料庫] SQL查詢語句錶行列轉換及一行資料轉換成兩列
本文主要講述了SQL查詢語句表之間的行列轉換,同時也包括如何將一行資料轉換成兩列資料的方法、子查詢的應用、decode函式的用法。希望文章對你有所幫助~ 1.建立資料庫表及插入資料2.子查詢統計不同性質的學生總數3.一行資料轉換成兩列資料 union all4.錶行列資料轉
sql server動態行列轉換
修改 esc === 邏輯 bubuko com context bject content 原文鏈接:https://www.cnblogs.com/gaizai/p/3753296.html sql server動態行列轉換 一.本文所涉及的內容(Contents)
SQL Server中行列轉換 Pivot UnPivot
PIVOT用於將列值旋轉為列名(即行轉列),在SQL Server 2000可以用聚合函式配合CASE語句實現 PIVOT的一般語法是:PIVOT(聚合函式(列) FOR 列 in (…) )AS P 完整語法: table_source PIVOT( 聚合函式(value_column) FOR piv
SQL 2008行列轉換的pivot--產生動態列
突然間發現,已經好久沒有寫部落格了,也好久沒用SQLServer進行開發了。由於目前專案開發的原因,對於SQL Server才重視起來。發現SQL Server也引進了不少新的東西,現將一個不錯的動態行列轉換的例子給大家分享一下,行列轉換的函式為:pivot,unpi
鋒利的SQL-SQL Server的表旋轉(行列轉換)
所謂表旋轉,就是將表的行轉換為列,或是將表的列轉換為行,這是從SQL Server 2005開始提供的新技術。因此,如果希望使用此功能,需要將資料庫的相容級別設定為90。表旋轉在某些方面也是解決了表的資料儲存和實際需要之間的矛盾。例如,圖9-4所示的是一個典型的產品銷售統計表
多表查詢-行列轉換-合計SQL語句
create table 分類表(分類ID int , 分類名稱 varchar(10)) insert into 分類表 values(1 , '一類') insert into 分類表 values(2 , '二類') insert into 分類表 values(3 ,
SQL學習(一)--資料庫 行列轉換
SQLServer 1、UNPIVOT 操作符 UNPIVOT操作符就是取得一個行的資料集合,然後把每一行都轉換成多個行資料。 UNPIVOT 語法 下面就是 UNPIVOT 的語法: SELECT [columns not unpivoted], [unp
SQL語句行列轉換(附帶資料庫、表、檢視操作)
本來只是想解決怎麼把資料的行和列進行轉換的,但最近覺得一些資料庫SQL語句的操作,很久沒用了,有點陌生。所以也就隨筆記錄一些簡單但很基本的操作。 我的資料庫是MSSQL2005. 第一部分主要的操作包含:資料庫的建立、刪除,表的增、刪、改,表中資料的增、刪、改、查,檢
SQL Server中的行列轉換
行列轉換 老一點的寫法 CREATE TABLE SALES1 ( [Year] INT, Quarter CHAR(2), Amount FLOAT ) GO INSERT INTO SALES1 VALUES (2001, ‘Q
SQL Server 2005 中行列轉換(Pivot 和 UNPivot的使用)
針對sql2005 系統提供兩個新的關鍵字 PIVOT 和UNPIVOT可用來作此類操作.語法規則<pivot_clause> ::= ( aggregate_function ( value_column ) FOR pivot_
SQL Server 2008 行列轉換操作
行轉列操作,主要用到了Pivot Pivot語法結構: Pivot (A) for B in(C) A:Max(Total),表示要顯示的合計值, B:Monthly,原始資料的列頭,就是要把它的資料轉化為列的欄位的名字 C:動態列 B的資料內容 資料表指令
SQL Server行列轉換
1、行列轉換 建立建立學生成績表並新增學生成績資訊。 /*-建立學生成績表-*/ CREATE TABLE StuScore ( StuName VARCHAR(20), --姓名 Subject VARCHAR(20), --科目 Score INT
【SQL基礎用法】——行列轉換
* 標題:普通行列轉換(version 2.0 ) 作者:愛新覺羅.毓華(十八年風雨,守得冰山雪蓮花開) 時間: 2008 - 03 - 09 地點:廣東深圳 說明:普通行列轉換(version
Mysql 行列轉換
lec gin name select mysql post with clas price 1、創建表CREATE TABLE `gas` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `oil` VARCHAR(100) N
行列轉換的例子
char temp insert lec gin emp arch union declare IF OBJECT_ID(‘tempdb..#ABC‘) IS NOT NULL DROP TABLE #ABC create table #ABC (