如何对行进行分组并列出某些列值

时间:2014-04-14 15:49:11

标签: php mysql group-by

我有一个包含dates&行的表格。 times。我想为table中的每个唯一日期生成一个包含所有时间的列表。

这是表格:

DATE       TIME
2000-01-01 09:00:00
2000-01-01 13:00:00
2000-07-18 09:00:00
2000-07-18 13:00:00
2000-12-31 10:31:00
2000-12-31 14:17:00
2000-12-31 21:42:00

我的结果设置如下:

2000-01-01, 09:00:00, 13:00:00
2000-07-18, 09:00:00, 13:00:00
2000-12-31, 10:31:00, 14:17:00, 21:42:00

有可能吗?

修订: 是否也可以在1个查询中生成此结果集?

2000-01-01, 2000-07-18, 09:00:00, 13:00:00
2000-12-31, 10:31:00, 14:17:00, 21:42:00

2 个答案:

答案 0 :(得分:1)

SELECT Date, GROUP_CONCAT(Time) AS Times
FROM YourTable
GROUP BY Date

答案 1 :(得分:1)

您需要GROUP_CONCAT:https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

类似的东西:

SELECT DATE, GROUP_CONCAT(TIME) FROM tablename GROUP BY DATE