将行表转换为mysql中的列
问题描述:
我有一个列图,用户可以在每年插入一个值。将行表转换为mysql中的列
我的表是这样的。
是否有可能以查看这样我的表?
| Course | 2013 | 2014 | 2015 | // column name
| BSIT | 657 | 453 | 424 |
| Education| 657 | 453 | 424 |
我要查看像这样我的柱形图显示这个样子
我不知道这个问题是可以做到的。我希望...
答
如果其限制在年少量(不喜欢的东西,然后20年以前),那么它可以与有条件的聚集这样实现:
SELECT Course,
max(CASE WHEN year = 2013 then value end) as year_2013,
max(CASE WHEN year = 2014 then value end) as year_2014,
max(CASE WHEN year = 2015 then value end) as year_2015,
.....More years if you need
FROM YourTable
GROUP BY Course
我的图表有一个选择标记这是我的用户可以使用ajax每年更改记录。如果用户选择2015年,例如图表显示从2015年到2013年的记录,并且如果用户选择2016年图表显示从2016年到2014年。如何从sql中做这样的条件? –
你不能在ajax里面过滤吗?你可以在所有可能年份的表格中创建它,然后筛选他选择的那些 – Yossi
谢谢你帮助我。经过几次尝试并尝试使用您的代码后,我发现可以通过更改CASE WHEN旁边的年份值来使用ajax进行过滤。非常感谢你,你的回答帮了我很多#Yossi –