如何把mysql的列修改成行顯示資料簡單實現

2022-08-16 08:24:16 字數 1462 閱讀 9008

如何把mysql的列修改成行顯示資料簡單實現

建立測試表:

drop

table

ifexists `test`;

2:

create

table `test` (

3:   `year` int(11) default

null,

4:   `month` int(11) default

null,

5:   `amount` double

default

null

6: ) engine=innodb default charset=utf8;
插入資料:

2: insert into `test` values ('1991', '2', '1.2');
3: insert into `test` values ('1991', '3', '1.3');
4: insert into `test` values ('1991', '4', '1.4');
5: insert into `test` values ('1992', '1', '2.1');
6: insert into `test` values ('1992', '2', '2.2');
7: insert into `test` values ('1992', '3', '2.3');
8: insert into `test` values ('1992', '4', '2.3');
看到題目要求,仔細想想可以:

利用sum(if()) 生成列 + with rollup 生成彙總行,並利用 ifnull將彙總行標題顯示為 total_num

實現sql**塊如下:

select

year,

2:

sum(if(month=1,amount,0)) as "m1",

3:

sum(if(month=2,amount,0)) as "m2",

4:

sum(if(month=3,amount,0)) as "m3",

5:

sum(if(month=4,amount,0)) as "m4"

6:

from test

7:

group

byyear;

效果如下:

Mysql的列修改成行並顯示資料的簡單實現

建立測試表 drop table if exists test create table test year int 11 default null,month int 11 default null,amount double default null engine innodb default ...

把列變成行的sql語句

現有如下表 科目 分數 姓名 語文 88 董兆 數學 95 董兆 英語 89 董兆 語文 69 嬋娟 數學 95 嬋娟 英語 89 嬋娟 語文 69 李慧 數學 95 李慧 英語 89 李慧 一條sql語句,查詢結果是 李慧 嬋娟 董兆 語文 69 69 88 數學 95 95 95 英語 89 8...

如何把2440 5 0BSP的紅外串列埠改成普通串列埠

前幾天,專門抽時間看了一下串列埠驅動,發現好多使用c 來開發,結果就學習了兩天c 語言。看來看 去,發現這個普通串列埠的驅動和紅外串列埠的驅動幾乎沒有什麼分別。後來想想,其實他們的驅動幾乎都一樣 也正常,因為這個紅外串列埠終究還是串列埠,只是他要和乙個微軟的紅外元件配合就形成了我們心中的特殊串列埠 ...