在平常的工作中或者面試中,我們可能有遇到過數據庫的縱橫表的轉換問題。今天我們就來討論下。 1.創建表 首先我們來創建一張表。 sql語句: 執行結果: 2. 傳統的縱橫表轉換 2.1 縱表轉橫表 先看看我們要轉成的橫表張什么樣子: 既然這個表只有兩列 ...
創建表scores 一 傳統的行列轉換 縱表轉橫表 我們要轉成的橫表是這樣子的: 既然這個表只有兩列,那么可以根據姓名進行分組。先把姓名拼湊出來,后面的分數我們再想辦法。 結果: 分析: 我們先拿到語文這個科目的分數。既然我們用到了group by 語句,這里肯定要用聚合函數來求分數。 而且我們只需要語文這一科的成績,分組出來的 一共有 列 ,分別是 語文 數學 物理 。 那么就需要判斷科目來取分 ...
2016-06-28 08:18 1 18643 推薦指數:
在平常的工作中或者面試中,我們可能有遇到過數據庫的縱橫表的轉換問題。今天我們就來討論下。 1.創建表 首先我們來創建一張表。 sql語句: 執行結果: 2. 傳統的縱橫表轉換 2.1 縱表轉橫表 先看看我們要轉成的橫表張什么樣子: 既然這個表只有兩列 ...
首先我們建立一張表,名為scoreInfo,各個字段的設計如下圖,分別是name,course,score,表示姓名,成績與分數,如圖所示。 2 我們往表中加入數據,分別添加小明與小花的語文和數 ...
創建表scores 一、傳統的行列轉換 縱表轉橫表 我們要轉成的橫表是這樣子的: pivot是sql server 2005 提供的運算符,所以只要數據庫在05版本以上的都可以使用。主要用於行和列的轉換。 pivot縱表轉橫表 select ...
-- 對一張大表的每一行,后面加多種label值 -- 其實就是笛卡爾積,舉例 -- SELECT * FROM dev.dev_jiadian_user_yuge_temp -- CROSS JOIN -- ( -- SELECT 0 AS label -- UNION ...
模擬數據: 大多數數據庫存儲的數據都是這樣,但是實際業務則需要我們對數據進行處理如下: 這就是很多時候面試也會遇到的列傳行的問題。 創建數據庫以及數據: View Code 對於列傳行我們參考《T-SQL基礎教程》中提供的方式 方法 ...
(1)首先可以想到根據姓名來進行分組 select 姓名 from scores group by 姓名 (2)接着使用case when方法 顯示我們的 ‘' ...
使用過SQL Server 2000的人都知道,要想實現行列轉換,必須綜合利用聚合函數和動態SQL,具體實現起來需要一定的技巧,而在SQL Server 2005中,使用新引進的關鍵字PIVOT/UNPIVOT,則可以很容易的實現行列轉換的需求。 在本文中我們將通過兩個簡單的例子詳細講解 ...
前言: 在日常的工作中,使用數據庫查看數據是很經常的事,數據庫的數據非常多,如果此時的數據設計是一行行的設計話,就會有多行同一個用戶的數據,查看起來比較費勁,如果數據較多時,不方便查看,為了更加方便工作中查看數據,如果可以隨時切換行列數據的顯示就好啦。 上圖詳細看這種情況:同一個test ...