我有一个看起来像这样的mysql表:
id | PO | DAP | MEDIA ---|----|-------|------ 1 | 2 | 34 | 64 2 | 6 | 53 | 23
我希望能够查询得到多行,每一列一个。例如:
SELECT column_name as column, column_value as value FROM my_table;
这会给我:
PO=2,DAP=34,MEDIA=54,PO=6,DAP=53,MEDIA=23
我需要用什么来制定这样的查询?
您必须首先CONCAT将每个指定字段的数据应用于GROUP_CONCAT结果。
CONCAT
GROUP_CONCAT
询问
SELECT GROUP_CONCAT(temp_col) FROM ( SELECT 1 as 'temp_id', CONCAT( CONCAT('PO=', PO), ',', CONCAT('DAP=', DAP), ',', CONCAT('MEDIA=', MEDIA) ) AS 'temp_col' FROM test ) temp GROUP BY temp_id
签 出 SQLFIDDLE