水平显示MySQL列

时间:2018-03-21 12:53:27

标签: mysql

我在phpMyAdmin的表中有一个简单的MySQL查询。我希望水平显示结果,而不是垂直显示。

SELECT `FieldName`,`FieldValue` FROM `table` 

Fieldname: name, surname, age etc
Fieldvalue: john, doe, 25 etc

我在图像中显示它的显示方式,以及我希望它如何显示。 它现在的显示方式:

1) Displayed 2- how to display it enter image description here

编辑:pivot仅适用于少数记录。不是数千。无法逐个指定每个值。

1 个答案:

答案 0 :(得分:0)

SELECT GROUP_CONCAT(Name SEPARATOR '') AS Name,
       GROUP_CONCAT(Surname SEPARATOR '') AS Surname,
       GROUP_CONCAT(Age SEPARATOR '') AS Age
FROM
(
    SELECT 
    CASE WHEN FieldName = 'Name' THEN @rownum:=@rownum+1 
         ELSE @rownum
    END AS id,
    IF( FieldName = 'Name', FieldValue,'')  AS Name,  
    IF( FieldName = 'Surname', FieldValue,'') AS Surname, 
    IF( FieldName = 'Age', FieldValue,'' ) AS Age 
    FROM 
    Table1 ,(SELECT @rownum:=0) r
)AS t 
GROUP BY id

问题的演示:

  

http://sqlfiddle.com/#!9/61b00c/8