1

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

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”的数据集。

4

1 回答 1

1

为什么不只是......

SELECT * 
FROM `table` t
WHERE t.date BETWEEN DATE_ADD(NOW(),INTERVAL -3 MONTH) AND NOW()
ORDER BY t.date;
于 2012-08-01T12:49:38.713 回答