以下是我的内容
++++++++++++++++++++++++
+ id + field1 + field2 +
++++++++++++++++++++++++
+ 1 + 1 + +
+ 1 + 23 + +
+ 1 + + 1 +
+ 1 + + 33 +
+ 2 + 55 + +
+ 2 + + 2 +
+ 2 + + 23 +
++++++++++++++++++++++++
我想要的是
++++++++++++++++++++++++
+ id + field1 + field2 +
++++++++++++++++++++++++
+ 1 + 23 + 33 +
+ 2 + 55 + 23 +
++++++++++++++++++++++++
我希望将行(具有最大数据)组合在一起,并将一行中的用户数据显示为多个行,就像我在表中一样。
知道该怎么做吗?
注意:我没有任何行拥有所有字段的数据。一行中只有1个数据,每个用户只有两行或更多行。
我试过
SELECT id, GROUP_CONCAT(MAX(field1)), GROUP_CONCAT(MAX(field2)) from myTable
GROUP BY id;
但它的错误为
Invalid use of group function:
这个问题比我之前的问题有点提前, showing data in one row (from multiple rows)
答案 0 :(得分:2)
SELECT id, MAX(field1), MAX(field2) FROM myTable GROUP BY id;
答案 1 :(得分:2)
这个简单的查询应该可以解决问题。
SELECT id, MAX(field1), MAX(field2)
FROM myTable
GROUP BY id;
它将具有相同ID的所有行分组,并为每列选择每个组中的最大值