如何为行同时包含名称和值的数据创建mySQL汇总表?

如何为行同时包含名称和值的数据创建mySQL汇总表?,mysql,Mysql,MySQL表中的源数据如下所示: +----+------+-------+ | id | name | value | +----+------+-------+ | 1 | a | 10 | | 1 | b | 5 | | 2 | a | 20 | | 2 | b | 5 | | 3 | a | 30 | | 3 | b | 5 | +----+------+-------+ +----+----+--

MySQL表中的源数据如下所示:

+----+------+-------+ | id | name | value | +----+------+-------+ | 1 | a | 10 | | 1 | b | 5 | | 2 | a | 20 | | 2 | b | 5 | | 3 | a | 30 | | 3 | b | 5 | +----+------+-------+ +----+----+----+ | id | a | b | +----+----+----+ | 1 | 10 | 5 | | 2 | 20 | 5 | | 3 | 30 | 5 | +----+----+----+ +----+------+-------+ |id |名称|值| +----+------+-------+ |1 | a | 10| |1 | b | 5| |2 | a | 20| |2 | b | 5| |3 | a | 30| |3 | b | 5| +----+------+-------+ 我需要这样的最终结果:

+----+------+-------+ | id | name | value | +----+------+-------+ | 1 | a | 10 | | 1 | b | 5 | | 2 | a | 20 | | 2 | b | 5 | | 3 | a | 30 | | 3 | b | 5 | +----+------+-------+ +----+----+----+ | id | a | b | +----+----+----+ | 1 | 10 | 5 | | 2 | 20 | 5 | | 3 | 30 | 5 | +----+----+----+ +----+----+----+ |id | a | b| +----+----+----+ | 1 | 10 | 5 | | 2 | 20 | 5 | | 3 | 30 | 5 | +----+----+----+
对于有mySQL经验的人来说,这应该是一项简单的任务。有什么建议吗?

正如@Juan提到的,你可以在谷歌上搜索一下。但是为了防止你弄不明白,请看下面的查询

SELECT id,
       MAX(CASE WHEN name = 'a' THEN value END) AS a,
       MAX(CASE WHEN name = 'b' THEN value END) AS b
FROM yourTable
GROUP BY id

谷歌搜索
PIVOT