oracle行變列(多行變成一行/多行合併成一行/多行合併成多列/合併行)
和mysql對比著看:http://blog.csdn.net/rainyspring4540/article/details/50231435
這裡是oracle10g的環境
資料庫結構如下:
如果我想將相同名字的成績顯示在同一行,有2中基本展示:
第一種展示(顯示在同一行的不同列上)
其sql如下:
由於這裡一個人只對應一科目的成績,所有你用max和sum是一樣的,如果一個人一個科目有多個成績,這時sum就是求和的意思了,而max就是取最大值,我就不在寫案例了,自己注意下就okselect name , max(decode(type,'math',score,0)) as 數學, max(decode(type,'english',score,0)) as 英語, max(decode(type,'chinese',score,0)) as 語文 from stu2 group by name
第二中展示(顯示在同一行的同一列上)
sql如下:
select name ,
max(decode(type,'math',score,0)) ||';'||
max(decode(type,'english',score,0)) ||';'||
max(decode(type,'chinese',score,0)) as allScore
from stu2
group by name
如果你熟悉字串拼接||的用法就能做出更多樣式:
樣式1:
相關推薦
三行代碼把女朋友照片變成了素描圖片!人生苦短,愛python多一些
python -o 取圖 tco 兩層 學習教程 以及 == 很多 我們知道圖片除了最普通的彩×××,還有很多類型,比如素描,卡通,黑白等等,今天就介紹如何使用python和opencv來實現圖片變素描圖。 首先將彩×××轉換成灰度圖; 對灰度圖進行求其反色的操作; 對第2
Oracle獲取日期大全(當月的第一天/後一天/上一天/最後一天/上個月這一天)
由於經常會再oracle中獲取當月的第一天/後一天/上一天/最後一天/上個月這一天,所以整理出下面的oracle獲取日期大全出來,有什麼更好的建議可以留言補充一下。 日期說明 oracle語句(假設現在是2018-11-28 11:11:11)
oracle行變列(多行變成一行/多行合併成一行/多行合併成多列/合併行)
和mysql對比著看:http://blog.csdn.net/rainyspring4540/article/details/50231435 這裡是oracle10g的環境 資料庫結構如下: 如果我想將相同名字的成績顯示在同一行,有2中基本展示: 第一種展示(顯示在同
mysql多行變多列(衍生形式)
我的這篇文章整理了mysql多行變多列的2種常見形式:http://blog.csdn.net/rainyspring4540/article/details/50231435 這裡就不贅述了,下面說下它更復雜的衍生形式: 表結構: create table studen
除錯經驗——使用自定義函式在Oracle中實現類似LISTAGG函式的行轉列(字串連線)功能
問題描述: LISTAGG函式是一個很實用的函式,但僅在Oracle 11.2以後的版本中才有。 生產環境中有個資料庫是Oracle 11.1,需要行轉列,但並不能使用LISTAGG函式。 解決方法: 參考以下文章: https://oracle-base.com/artic
MySQL 行列轉換變化各種方法實現總結(行變列報表統計 列變行資料記錄統計等)
前言:mysql行列變化,最難的就是將多個列變成多行,使用的比較多的是統計學中行變列,列變行,沒有找到現成的函式或者語句,所以自己寫了儲存過程,使用動態sql來實現,應用業務場景,使用者每個月都有使用記錄數錄入一張表,一個月一個欄位,所以表的欄位是動態增長的,現在需要實時統計當
[MySQL] 行列轉換變化各種方法實現總結(行變列報表統計、列變行資料記錄統計等)
前言:mysql行列變化,最難的就是將多個列變成多行,使用的比較多的是統計學中行變列,列變行,沒有找到現成的函式或者語句,所以自己寫了儲存過程,使用動態sql來實現,應用業務場景,使用者每個月都有使用記錄數錄入一張表,一個月一個欄位,所以表的欄位是動態增長的,現在需要實時統計
[MySQL] 行列轉換變化各種方法實現總結(行變列報表統計、列變行資料記錄統計等
前言: mysql行列變化,最難的就是將多個列變成多行,使用的比較多的是統計學中行變列,列變行,沒有找到現成的函式或者語句,所以自己寫了儲存過程,使用動態sql來實現,應用業務場景,使用者每個月都有使用記錄數錄入一張表,一個月一個欄位,所以表的欄位是動態增長的,
GreenPlum之數組合並取交集及行變列、列變行函數
blog ner fun cnblogs $1 $$ ble lec temp --1.利用INTERSECT關鍵字數組之間交集函數 CREATE OR REPLACE FUNCTION array_intersect(anyarray, anyarray) RETU
Oracle 多行連接成一行 convert multiple rows to one row
acl art rom 用法 port trac 我的電腦 現在 row animal id name 1 dog 1 cat 2 lion 怎麽得到相同id的name list呢?也就是想得到id 為1的list為dog, cat格式。 1. 首先Or
Linux提取不匹配字符串的行和列(awk函數)
div ont 字符串 pre IT int nan span http 如下圖所示,想把含有‘-nan’字符串的行提取出來 則用到awk函數,命令行如下: awk ‘{if($3!="-nan"){print $3}}‘ CHB_vs_
[Oracle維護工程師手記系列]一次升級後運行變慢的分析
設置 增加 整體 dex classes 並不是 select 統計 系列 客戶報告,當他從 Oracle 11.1.0.7 ,遷移到雲環境,並且升級到12.1.0.2。運行客戶的應用程序測試,發現比以前更慢了。從AWR report 的"Top 10 Foreground
makefile之命令包&多行變量
expand close 部分 code gin like clas pro 簡單使用 define&endef 1. 命令包(canned recipes)&多行變量(muti-line variables) The define directive i
oracle 聚合函數 LISTAGG ,將多行結果合並成一行
亂碼 進行 to_char acl oracle bsp 結果 查詢 聚合函數 LISTAGG( to_char(Item_Category_Name), ‘,‘) WITHIN GROUP(ORDER BY Item_Category_Name) -- 將 Item
sqlserver 行轉列(轉)
微軟 技術 all drop 記錄 記錄拆分 div student 數學 1、行轉列 微軟官方的圖: 方法二 -- 行轉列 DROP TABLE studentB; CREATE TABLE studentB (姓名 varchar(10),語文
C 按行讀取檔案(但是最後一行會多輸出一行)
#include <stdio.h> int main() { char filename[] = "E:\\data_test\\commands.txt"; //檔名 &nb
微信小程式中換行,空格(多個空格)寫法
在小程式中HTML的網頁實體無法正常使用,小程式中的寫法為: 一、空格,換行 <text>你好!\t七月流火啊!\n我在下一行</text> ---------------------------------------------------------
關於SQL Server將一列的多行內容拼接成一行的問題討論
示例 昨天遇到一個SQL Server的問題:需要寫一個儲存過程來處理幾個表中的資料,最後問題出在我想將一個表的一個列的多行內容拼接成一行,比如表中有兩列資料 : 類別 名稱 AAA 企業1
QT QTableView QTableWidget 複雜表頭(多行表頭) 、(凍結、固定特定的行)
對於所有前端開發人員會留意到,我們在開發過程中對於表格使用頻率還是挺高的,使用QT框架開發時候我們使用QTableView或者QTableWidget建立表格。 其中表格分為 表格頭與表格體: 對於簡單地表格,我們可以設定表頭來滿足我們的要求(當然也可以隱藏表頭),不
pivot 行變列
with temp as(select '四川省' nation ,'成都市' city,'第一' ranking from dual union allselect '四川省' nation ,'綿陽市' city,'第二' ranking from dual union allselect '四川省' n