OuterTable содержит дату и тип фрукта.
OuterTable
(
Day datetime,
FruitType int
)
OuterTable имеет 8000 строк.
Фрукты содержат ежеминутный подсчет того, сколько фруктов каждого типа было съедено по всему миру.
Fruits
(
Minute datetime,
FruitType int,
NumEaten int
)
Фрукты имеют полмиллиарда строк.
Я хочу отображать поминутные значения «NumEaten» для каждого типа фруктов за последние 900 минут для каждого «крайнего срока» (или как вы хотите это называть), присутствующего в OuterTable.
Я пытаюсь выполнить следующий запрос:
SELECT f.Minute, f.fruitType, f.numEaten
для каждой записи в таблице OuterTable
,
к которому я хочу применить коррелированный подзапрос:
(
SELECT f.Minute, f.fruitType, f.numEaten FROM Fruits As f
WHERE f.fruitType = OuterTable.fruitType
AND f.Minute < OuterTable.Day
ORDER BY f.Minute DESC LIMIT 900;
)
Есть ли способ сделать это без курсора?