mysql常見的列轉行功能的思路分析

2021-10-01 07:37:04 字數 1231 閱讀 3254

1.首先我們建張表

create

table tbs (

years varchar(30

),months varchar(30

),counts int

)

2.然後插入幾行資料

insert

into

tbs(years,months,counts)

values

('2018'

,'1'

,110),

('2018'

,'2'

,110),

('2018'

,'3'

,110),

('2018'

,'4'

,110),

('2019'

,'1'

,110),

('2019'

,'2'

,110),

('2019'

,'3'

,110),

('2019'

,'4'

,110

)

3.檢視表資料

select

*from tbs

結果如下

4.進行行轉列

select

years,

sum(

case months when

'1'then counts else

0end)as

'一月'

,sum

(case months when

'2'then counts else

0end)as

'二月'

,sum

(case months when

'3'then counts else

0end)as

'三月'

,sum

(case months when

'4'then counts else

0end)as

'四月'

from tbs

group

by years

最後的結果如下

MySQL中的列轉行方法

資料如下 create table test id int 10 not null auto increment primary key,name varchar 20 default null,course varchar 20 default null,score float default 0...

mysql 列轉行的技巧 分享

前言 由於很多業務表因為歷史原因或者效能原因,都使用了違反第一正規化的設計模式。即同乙個列中儲存了多個屬性值 具體結構見下表 這種模式下,應用常常需要將這個列依據分隔符進行分割,並得到列轉行的結果。表資料 idvalue 1tiny,small,big 2small,medium 3tiny,big...

oracle的列轉行

首先建立測試環境 create table test1 user account varchar2 100 signup date date,user email varchar2 100 friend1 email varchar2 100 friend2 email varchar2 100 f...