2

以下是我所拥有的

++++++++++++++++++++++++
+ id + field1 + field2 +
++++++++++++++++++++++++
+ 1  +  1     +        +
+ 1  +        +   1    +
+ 2  +  1     +        +
+ 2  +        +   2    +
++++++++++++++++++++++++

我想要的是

++++++++++++++++++++++++
+ id + field1 + field2 +
++++++++++++++++++++++++
+ 1  +  1     +   1    +
+ 2  +  1     +   2    +
++++++++++++++++++++++++

我想将行组合起来并在一行中显示用户的数据,而不是像我在表中那样的多行。

知道怎么做吗?

注意:我没有任何具有所有字段数据的行。而且我没有任何具有以下情况的用户。

++++++++++++++++++++++++
+ id + field1 + field2 +
++++++++++++++++++++++++
+ 3  +  1     +        +
+ 3  +  1     +   1    +
++++++++++++++++++++++++

一行中只有 1 个数据,每个用户只有两行。

我试过了

SELECT id, concat(field1), concat(field2) from myTable
GROUP BY id;

但它不会来。

sqlfiddle 中的数据

4

1 回答 1

3

在聚合分组数据时,您需要使用 MySQL 的聚合函数之一。要么使用GROUP_CONCAT()(非聚合字符串函数)CONCAT(),要么(更适合数字数据)使用SUM()

SELECT id, SUM(field1), SUM(field2) FROM myTable GROUP BY id

演示

于 2012-06-30T07:45:35.613 回答