Java 在MySQL中透视表

Java 在MySQL中透视表,java,mysql,mysql-workbench,Java,Mysql,Mysql Workbench,如何在MySQL中透视表 我有一个mysql数据表,如下所示 **Student_id Student_name Subject Activity Marks** 1 Raja Maths null 44 1 Raja IT practical 33 1 Raja Tamil null

如何在MySQL中透视表

我有一个mysql数据表,如下所示

**Student_id    Student_name    Subject Activity    Marks** 

1             Raja          Maths   null              44    
1             Raja          IT  practical     33    
1             Raja          Tamil   null              22    
1             Raja          Histry  null              54    
2             Ganga         Maths   null              33    
2             Ganga         IT  null              22    
2             Ganga         Histry  null              44    
2             Ganga         Tamil   null              89    
所以我需要像下面那样旋转我的桌子

Student_id  Student_name    Mths    IT  Tamil   Histry  Activity

1            Raja            44 33  22  54  practical

2            Ganga           33 22  89  44  null

通过使用stackoverflow,我尝试了很多方法,但是我无法实现目标,需要mysql专家的帮助,

我能够通过@Raymond Nijland的建议完成我的任务


我利用@Raymond Nijland的建议完成了我的任务

历史是写错的。。请检查您的表格数据


历史是写错的。。请检查您的表数据。

考虑在应用程序代码(java)中显示数据“我尝试了许多方法使用stackoverflow,但未能达到目标”,使用
MAX()
/
MIN()
进行数据透视更容易,因为这些函数允许返回anny数据类型,其中
SUM()<代码>只适用于数字,我尝试了(),但不能,将尝试用最大()(我不明白你所需要的输出为什么4个标记显示,只有一个活动和选择哪个活动?)看看这篇文章-考虑在应用程序代码(java)中进行数据显示。“通过使用stackoverflow,我尝试了许多方法,但我无法实现目标,”使用
MAX()
/
MIN()
进行数据透视更容易,因为这些函数允许返回anny数据类型,其中
SUM()
仅适用于数值是的,我尝试了SUM(),但无法,将尝试使用MAX())我不明白你需要的输出为什么显示4个标记,只显示一个活动以及选择了哪个活动?看看这篇文章-这将给出MySQL上的语法错误,因为这是SQL Server(MSSQL)查询。这将给出MySQL上的语法错误,因为这是SQL Server(MSSQL)查询。
select *
from 
(
 select Student_id, Student_name, Subject, Activity, Marks
 from #your_table
 ) src
 pivot
 (
 sum(Marks)
 for Subject in ([Maths], [IT], [Tamil], [Histry])
 ) piv;