从GROUP BY Bucketing获取所有结果

时间:2015-03-24 23:23:53

标签: mysql

我努力让GROUP BY与MySQL完全一致。我目前使用查询来根据月份和年份对结果进行存储,然后创建逗号分隔的值列表。客户端负责解析逗号分隔列表。

当列表变得太长并被截断时,这会出现问题。它看起来也很混乱,我相信可能有更好的方法。

我的查询如下:

  SELECT 
    DATE(date_format(time_of_creation, '%Y:%m:01 00:00:00')) t0,
    GROUP_CONCAT(TIMESTAMPDIFF(MINUTE, time_of_creation, t1))
  FROM rr
  GROUP BY
    YEAR(t0),
    MONTH(t0)
  ORDER BY t0;

是否有办法获取落入每个存储桶的元素而不返回大的逗号分隔列表?

1 个答案:

答案 0 :(得分:1)

因此,为每个项目生成一个单独的行,并为客户端提供一个大表:

SELECT DATE(date_format(time_of_creation, '%Y:%m:01 00:00:00')) as t0,
       TIMESTAMPDIFF(MINUTE, time_of_creation, t1) as value
FROM rr
ORDER BY to;