2012-06-21 48 views
1

我有一个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) 

并且结果集的顺序是s每组中的tart_time。

感谢提前:)

+5

[你有什么试过?](http://www.whathaveyoutried.com/) –

+0

@JohnConde很好的链接! –

回答

3

你可以使用GROUP_CONCAT功能。

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

不要忘记'COUNT命令(start_time)' – octern

+0

@octern Thx,加:) – xdazz