Mysql 要选择在一行中返回多个值吗
我的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
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)
不要忘记按计数排序(开始时间)