最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL如何實現(xiàn)橫表與縱表相互轉(zhuǎn)換

 更新時間:2023年04月24日 10:52:40   作者:技匠三石弟弟  
針對SQL橫向表轉(zhuǎn)縱向的問題,本文從實際應(yīng)用出發(fā),詳細講解了語法和操作步驟,并結(jié)合實例進行了演示和說明。文章還探討了該方法的優(yōu)缺點,提出了一些值得注意的事項,旨在幫助讀者更深入地理解這一重要的數(shù)據(jù)處理技巧

一、橫表簡單概述

橫表是普通的建表方式。例如:表結(jié)構(gòu)為主鍵、字段1、字段2、字段3…。

二、縱表簡單概述

縱表的表結(jié)構(gòu)為主鍵、字段代碼、字段值,字段代碼則為字段1、字段2、字段3…。

三、縱表轉(zhuǎn)橫表代碼如下以及視圖展示

1.縱表視圖如下:

2.縱表轉(zhuǎn)換成橫表視圖如下:

3.sql語句如下所示:

select student_name,
	sum(case ts.subject when 'C語言' then ts.score else '' end) as C語言,
	sum(case ts.subject when '數(shù)據(jù)結(jié)構(gòu)' then ts.score else '' end) as 數(shù)據(jù)結(jié)構(gòu),
	sum(case ts.subject when '操作系統(tǒng)' then ts.score else '' end) as 操作系統(tǒng)
from t_student ts
group by ts.student_name;

四、橫表轉(zhuǎn)縱表代碼如下以及視圖展示

1.橫表視圖如下:

2.橫表轉(zhuǎn)換成縱表視圖如下:

3.sql語句如下所示:

select ts.studnet_name,
'C語言' as 科目,
ts.`C語言` as 成績
from t_student1 ts
union all
select ts.studnet_name,
'數(shù)據(jù)結(jié)構(gòu)' as 科目,
ts.`數(shù)據(jù)結(jié)構(gòu)` as 成績
from t_student1 ts
union all
select ts.studnet_name,
'操作系統(tǒng)' as 科目,
ts.`操作系統(tǒng)` as 成績
from t_student1 ts
order by studnet_name,科目

五、橫表、縱表優(yōu)點與缺點

1.橫表
優(yōu)點:一行表示了一個實體記錄,清晰可見。
缺點:如果現(xiàn)在要給這個表加一個字段,那么就必須重建表結(jié)構(gòu)。

2.縱表
優(yōu)點:如果現(xiàn)在要給這個表加一個字段,只需要添加一些記錄。
缺點:數(shù)據(jù)描述不是很清晰,而且會造成數(shù)據(jù)庫數(shù)據(jù)很多。另如果需要分組統(tǒng)計,要先group by,較繁瑣

六、總結(jié)

應(yīng)該把不容易改動表結(jié)構(gòu)的設(shè)計成橫表,把容易經(jīng)常改動不確定的表結(jié)構(gòu)設(shè)計成縱表。

到此這篇關(guān)于SQL如何實現(xiàn)橫表與縱表相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)SQL 橫表與縱表轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

蒙阴县| 河北省| 巢湖市| 肃宁县| 南部县| 石泉县| 会理县| 浠水县| 巴东县| 成武县| 浠水县| 湖南省| 澄城县| 滕州市| 刚察县| 和政县| 平舆县| 灵武市| 彩票| 海原县| 镇平县| 汝城县| 和田市| 阿克| 永胜县| 洛扎县| 福安市| 柏乡县| 垦利县| 化德县| 蒲江县| 泸西县| 泰顺县| 营山县| 汽车| 孟州市| 囊谦县| 锡林浩特市| 治多县| 习水县| 宁安市|