使用查询将行转换为mysql中的列

时间:2017-08-16 20:46:12

标签: mysql pivot-table transpose

我想转移表格:

platform | count
Android    100
IOS         200

Android | IOS
100           200

在MYSQL中使用QUERY

我该怎么做?

由于

1 个答案:

答案 0 :(得分:0)

您需要查找数据透视表及其工作原理。

  

要根据所有id值列出所有colID和value值 - 也就是说,为表写一个报告CUBE - 为表中找到的每个colID写一个GROUP_CONCAT()指令,然后是GROUP BY id:

SELECT  
  id,  
  GROUP_CONCAT(if(colID = 1, value, NULL)) AS 'First Name', 
  GROUP_CONCAT(if(colID = 2, value, NULL)) AS 'Last Name', 
  GROUP_CONCAT(if(colID = 3, value, NULL)) AS 'Job Title' 
FROM tbl 
GROUP BY id; 
+------+------------+-----------+----------------+ 
| id   | First Name | Last Name | Title          | 
+------+------------+-----------+----------------+ 
|    1 | Sampo      | Kallinen  | Office Manager | 
|    2 | Jakko      | Salovaara | Vice President | 
+------+------------+-----------+----------------+ 

快速谷歌搜索引导我在这里解释你的问题,然后一些:  http://www.artfulsoftware.com/infotree/qrytip.php?id=78