mysql查询将一列拆分为多个基于id的单独列

时间:2015-10-27 07:28:26

标签: mysql

我有一张表如下:

+-----------+-----------+--------+
|  ID       | Name      | Format |
+-----------+-----------+--------+
| 1         | Rama      | Text   |
+-----------+-----------+--------+
| 2         | Sita      | Text   |
+-----------+-----------+--------+
| 1         | Raja      | Text   |
+-----------+-----------+--------+
| 2         | Bheem      | Text   |
+-----------+-----------+--------+

我想从上表中输出以下内容:

+-----------+-----------+
|  ID_1     | ID_2      |
+-----------+-----------+
| Rama      | Sita      |
+-----------+-----------+
| Raja      | Bheem     |
+-----------+-----------+

任何人都可以给我mysql查询吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试此查询。

SELECT  ID,
        MAX(IF(`ID` = 1, Name, NULL)) ID_1,
        MAX(IF(`ID` = 2, Name, NULL)) ID_2
FROM    Table
GROUP   BY ID

请遵循与您的要求类似的小提琴代码。 http://sqlfiddle.com/#!2/70129/13