希望SELECT在单行中返回多个值

时间:2012-06-21 01:58:28

标签: mysql sql

我有一个像这样的mysql表结构:

id     int     primary key
name   varchar 
start_time float

数据可能是这样的:

id    name      start_time
1     tt1          20.3
2     tt3          19.5
3     tt1          23.1
4     tt1          40.1
5     tt4          20.5
6     tt3          44.2

我想要按名称分组的结果集,并列出每个组中的所有start_time:

name       start_times
tt1      (20.3,23.1,40.1)
tt3      (19.5,44.2)
tt4      (20.5)

结果集的顺序是每个组中start_time的数量。

提前致谢:)

1 个答案:

答案 0 :(得分:3)

您可以使用GROUP_CONCAT FUNCTION。

SELECT name, GROUP_CONCAT(start_time ORDER BY start_time) AS start_times
FROM your_table GROUP BY name
ORDER BY COUNT(start_time)