2014-05-14 98 views
0

嗨,我想知道是否有人可以帮助指向正确的方向。MySQL group by custom month

我知道如何按DATE_FORMAT(r_date, '%Y %m');作为标准日历月,但当客户月份从每个月的26号到25号运行时,我们如何执行group by子句。

+0

手段?你能提供样本数据和预期的输出吗? –

+0

你能否提供一些例子,比如2014年5月28日? – vhu

+0

对不起,我认为这个问题很安静,我的客户有一个自定义范围为他们的月份,即他们的月26日开始到25日结束,所以我无法使用DATE_FORMAT组的标准方法进行分组(r_date,' %Y%m'),正如我们通常在一个标准的日历月中那样,我如何使用自定义月份进行分组或者不可能 – cghrmauritius

回答

1

您可以使用DATE_SUB通过该值正常化月份和组:

...GROUP BY DATE_FORMAT(DATE_SUB(r_date, INTERVAL 25 DAY), '%Y %m'); 
+0

我喜欢您的答案的简单性,是否会迎合他们自26日起的自定义月份,以及请在25日结束? – cghrmauritius

+0

是的。试试吧。第26天将被视为本月的第一天(26-25 = 1),第25天将被视为最后一天(25-25 = 30/31) –

+0

非常感谢您 – cghrmauritius