mysql行轉列的兩種方法

2021-09-28 14:06:42 字數 772 閱讀 5511

建表語句:

create table tb(姓名 varchar(10),課程 varchar(10),分數 int)

insert into tb values('張三','語文',74)

insert into tb values('張三','數學',83)

insert into tb values('張三','物理',93)

insert into tb values('李四','語文',74)

insert into tb values('李四','數學',84)

insert into tb values('李四','物理',94)

第一種實現:case when

select * from tb

select 姓名,

max(case 課程 when '語文' then 分數 else 0 end)語文,

max(case 課程 when '數學'then 分數 else 0 end)數學,

max(case 課程 when '物理'then 分數 else 0 end)物理

from tb

group by 姓名

第二種實現:pivot函式

select * from tb pivot(max(分數) for 課程 in (語文,數學,物理))a

Postgresql 行轉列兩種簡單方法

create table tb student score name varchar course varchar score int insert into tb student score values 張三 數學 83 insert into tb student score values 張...

鏈結mysql的兩種方法

您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以在上面執行任何 sql 語句。以...

MySql行轉列的方法,case when

例如下表 將其轉換為 在oracle中,我們能使用decode函式,在mysql中decode函式和oracle該函式功能是不同的,我們需要使用case when then end 注意要有end sql語句如下 select t.ddate,max case t.res when 勝 then t...