循环mysql选择查询时的联合结果

时间:2012-08-01 12:46:22

标签: mysql loops union repeat

我想从循环select语句的过程返回单个数据集。在我的特定情况下,我试图获得两个日期之间每个日期的每行值。

SET @end = DATE(NOW());
SET @start = DATE_ADD(NOW(),INTERVAL -3 MONTH);
SET @today = @start;

REPEAT
    SELECT a, (SELECT latest b value on @today) as b FROM table;
    @today = DATE_ADD(NOW(),INTERVAL +1 DAY);
UNTIL @today => @end END REPEAT;

当包含在proc中并且被调用时,我得到每个循环返回的单独数据集。我想要一个包含所有结果的单个数据集'UNIONed'。

1 个答案:

答案 0 :(得分:1)

为什么不...... ....

SELECT * 
FROM `table` t
WHERE t.date BETWEEN DATE_ADD(NOW(),INTERVAL -3 MONTH) AND NOW()
ORDER BY t.date;