mysql橫向轉縱向 縱向轉橫向排列的方法

2022-09-25 05:54:10 字數 1377 閱讀 7519

初始化資料

程式設計客棧

drop table if exists `test_01`;

create table `test_01` (

`id` int(0) not null,

`user` varchar(255) character set utf8mb4 collate utf8mb4_0900_ai_ci null default null comment '使用者',

`km` varchar(255) characterwww.cppcns.com set utf8mb4 collate utf8mb4_0900_ai_ci null default null comment '科目',

`fs` varchar程式設計客棧(255) character set utf8mb4 collate utf8mb4_0900_ai_ci null default null comment '分數',

`time` datetime(0) null default null comment '時間',

primary key (`id`) using btree

) engine = innodb character set程式設計客棧 = utf8mb4 collate = utf8mb4_0900_ai_ci row_format = dynamic;

insert into `test_01` values (1, '小三', '語文', '98', '2020-08-06 15:51:21');

insert into `test_01` valu (2, '小三', '數學', '90', '2020-07-01 15:51:25');

insert into `test_01` values (3, '小三', '英語', '77', '2020-06-01 15:51:28');

insert into `test_01` values (4, '小二', '英語', '78', '2020-06-01 15:51:28');

一、橫向轉縱向排列

select

user,

sum( case when km = "語文" then fs else 0 end ) "語文",

sum( case when km = "數學" then fs else 0 end ) "數學",

sum( case when km = "英語" then fs else 0 end ) "英語"

from

test_01

group by user

二、縱向轉橫向排列

select km from test_01 where id = 1

union

select fs from test_01 where id = 1

sql 針對縱向轉橫向的模型

sql 針對縱向轉橫向的模型 針對縱向轉橫向的模型 vcolumns 分組的列 最後乙個字段後面一定不要加 vclause 查詢表的條件 沒有條件 vorderby 查詢結果排序的字段 為預設排序 vtop 取出的行數 為全部 vcolumns nvarchar 1000 vclause nvarc...

橫向越權與縱向越權

橫向越權 橫向越權指的是攻擊者嘗試訪問與他擁有相同許可權的使用者的資源 縱向越權 縱向越權指的是乙個低級別攻擊者嘗試訪問高階別使用者的資源 如何防止橫向越權漏洞 可通過建立使用者和可操作資源的繫結關係,使用者對任何資源進行操作時,通過該繫結關係確保該資源是屬於該使用者所有的。對請求中的關鍵引數進行間...

樹的橫向列印 縱向列印

水平列印樹,選擇右中左遍歷的原因。右樹在根節點的上面,左樹在根節點的下面,按照從上到下的順序列印就是右中左的遍歷方式。def printtree root,depth 0 s if not root return s sright printtree2 root.right,depth 1 prin...