GROUP BY每6个月一次记录

时间:2012-06-13 06:25:11

标签: mysql group-by intervals

我无法通过SELECT查询从数据库中检索某些数据:

SELECT table.something
FROM table
WHERE table.date BETWEEN 'from' AND 'to'
GROUP BY (each 6 months between the from and to date).

任何想法如何在不必通过代码重复视图和外部分组的情况下完成此操作。

2 个答案:

答案 0 :(得分:4)

这样的事情会起作用:

SELECT 
    table.something, 
    CEIL(MONTH(date)/6) as monthVALUE 
FROM 
    table 
WHERE 
    table.date BETWEEN 'from' AND 'to' 
GROUP BY 
    monthVALUE

答案 1 :(得分:0)

不要担心单个查询,而是创建一个临时表插入记录,其中包含开始日期和结束日期以及其他一些列。并使用每个记录的select查询来获取结果并将其存储在临时表中并选择临时表。