使用月份表对月份进行分组

时间:2015-03-31 06:23:53

标签: php sql group-by

基本上我要做的是显示我的数据库的结果,在他们所属月份的标题下分解,我做了一些搜索并尝试了示例,但我无法让它工作完美的,我试图让它做的就是这样显示...

March
Result 1
Result 2

April
Result 3

May
Result 4
Result 5
Result 6

在另一个线程中使用建议我创建了一个列出月份的“月份”表,我将其与我的结果表分组,看起来像这样。

tid
start_date
end_date
data

我能做的最好的事情就是让它显示月份名称,但每月只显示1个结果,而不是最多2到4个结果。

以下是我在本地计算机上使用的查询来测试它。

"SELECT trips.*, months.* 
FROM trips
RIGHT OUTER JOIN months ON months.month = monthname(trips.start_date) WHERE trips.tid = '$tid' GROUP BY monthname(trips.start_date) ORDER BY trips.start_date");

如果有人能够指出我做错了什么,那将非常感激。

1 个答案:

答案 0 :(得分:0)

您应该汇总所有未分组的字段。

SELECT sum(trips.data), months.month 
FROM trips
    RIGHT OUTER JOIN months ON months.month = monthname(trips.start_date) WHERE trips.tid = '$tid' 
GROUP BY months.month 
ORDER BY trips.start_date