在MySQL中将行转置为列

8

我该如何在MySQL查询中将行转换为列?


根据您的具体需求,您可能需要使用“PIVOT”技术。在MySQL中,没有内置支持,因此您需要使用“CASE”语句。您能否提供一些源数据和期望的结果的小例子? - Martin Smith
我有一个包含1列和18行的结果集,如何将它们转换为18列和1行。 - Even
听起来你想要转置整个东西。透视不会做到这一点。 - Martin Smith
这看起来很相关,但不确定是否完全重复:http://stackoverflow.com/questions/1187460/sql-rows-to-columns - Piskvor left the building
1个回答

11
您可以使用GROUP_CONCAT将行转换为一列,但是您无法以任何自动方式转置整个结果集。您可以手动编写查询来生成每个列,或者在应用程序中执行该操作。
以下是有关编写复杂查询以模拟转置的教程:
这里有一个涉及此过程的教程: http://www.artfulsoftware.com/infotree/queries.php#78

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接