Mysql 要选择在一行中返回多个值吗

Mysql 要选择在一行中返回多个值吗,mysql,sql,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 nam

我的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
name       start_times
tt1      (20.3,23.1,40.1)
tt3      (19.5,44.2)
tt4      (20.5)
数据可能如下所示:

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
name       start_times
tt1      (20.3,23.1,40.1)
tt3      (19.5,44.2)
tt4      (20.5)
我希望结果集按名称分组,并列出每个组中的所有开始时间,如下所示:

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
name       start_times
tt1      (20.3,23.1,40.1)
tt3      (19.5,44.2)
tt4      (20.5)
结果集的顺序是每组的开始时间

提前感谢:)

您可以使用该功能

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

不要忘记按计数排序(开始时间)