使用group by时有没有办法获取各行的值?

时间:2013-07-19 09:05:56

标签: mysql sql

假设我在名为Stuff的表中有以下行:

id1: Id1, id2: Id2, name: Name, something: Something1;
id1: Id1, id2: Id2, name: Name, something: Something2;

我使用以下查询:

SELECT * 
FROM Stuff 
WHERE id1= Id1 AND id2 = Id2
GROUP BY id1, id2

它会返回

Id1, Id2, Name, Something2

有没有办法让我找到其他行包含的'something'列,在这种情况下主要是“Something1”?或所有值的枚举?

1 个答案:

答案 0 :(得分:1)

您可以使用GROUP_CONCAT从列中获取以逗号分隔的值列表:

SELECT id1, id2, GROUP_CONCAT(something)
FROM Stuff 
WHERE id1= Id1 AND id2 = Id2
GROUP BY id1, id2