Rumah  >  Artikel  >  pangkalan data  >  mysql如何将多行变成多列

mysql如何将多行变成多列

anonymity
anonymityasal
2019-05-24 10:06:029519semak imbas

mysql将多行变成多列的方法:首先在原表中查询数据;然后将多行数据合并到同一列或不同列即可,如【select name ,group_concat(sore Separator ';') as score from stu group by name】。

mysql如何将多行变成多列

MySQL中的行列变换

(视频教程推荐:mysql视频教程

mysql 行列转换 ,在项目中应用的极其频繁,尤其是一些金融项目里的报表。其中最为头痛的就是多行转多列,动态的列行转换。最近在研究这些行里转换,还是从最为简单的行列转换开始。

首先示例数据原表如下:

20151209073425002d.jpg

【多行变一列】(合并后的数据在同一列上):

select name ,group_concat(sore Separator ';') as score from stu group by name

20151209072453455.jpg

【多行变多列】(合并后的数据在不同列上):

SELECT name ,
MAX(CASE type WHEN '数学' THEN score ELSE 0 END ) math,
MAX(CASE type WHEN '英语' THEN score ELSE 0 END ) English ,
MAX(CASE type WHEN '语文' THEN score ELSE 0 END ) Chinese 
FROM stu  
GROUP BY name

20151209073719916.jpg

Atas ialah kandungan terperinci mysql如何将多行变成多列. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:mysql如何创建多个联合索引Artikel seterusnya:mysql.exe文件在哪里