如何分组和显示结果sun to sat,MySQL PHP

时间:2013-12-30 03:34:43

标签: mysql sql select group-by sql-order-by

我有这样的MySQL表,

id  time  day

1   1:55  Mon
2   2:00  Sun
3   1:00  Mon
4   3:00  Tue
5   2:30  Sun

我可以使用此查询过滤所有结果

SELECT * FROM time_slots

但如何过滤此输出结果

Sun
-----
2:00 2:30

Mon
-------
1:00 1:55

Tue
------
3:00

这可能只使用MySQL获得结果,还是我应该使用PHP MySQL?

2 个答案:

答案 0 :(得分:3)

GROUP_CONCAT()GROUP BY

一起使用
SELECT 
  day,
  GROUP_CONCAT(`time` SEPARATOR ' ') AS times
FROM 
  time_slots
GROUP BY 
  day
ORDER BY
  `time` ASC

答案 1 :(得分:1)

使用FIELD()功能从SunSat的第二天订购。

试试这个:

SELECT t.day, GROUP_CONCAT(t.time SEPARATOR ' ') AS times
FROM time_slots t
GROUP BY t.day
ORDER BY FIELD(t.day, 'Sun', 'Mon', 'Tue', 'Wed', 'Thurs', 'Fri', 'Sat'), t.time