如何使用mysql选择字段值作为列名和行

时间:2019-03-08 18:20:22

标签: mysql sql pivot-table

我有一张表,其中包含多个参数名称和参数值。

enter image description here

enter image description here

我想选择记录的方式是所有参数名称都应作为标题/列名称,而参数值应作为多行。

enter image description here

如何在mysql中做到这一点?

2 个答案:

答案 0 :(得分:1)

表达时的用例

select max(case  when param_name='school' then param_value end) as school,
max(case  when param_name='bus' then param_value end) as bus
from tablename group by test2_id

答案 1 :(得分:-1)

如果存在已知的静态param_name值集,则

fa06的答案可能是进行此类选择的最佳方法,在这种情况下,您可以将其硬编码。否则,您可能希望首先选择唯一param_name条目,然后选择每个不同param_name的param_values。