Nejste si jisti, zda je vaše datum indexováno. Pokud se jedná o „souvislé“ příklady, které uvedli ostatní, nemusí fungovat příliš dobře.
Alternativně můžete použít dotaz ve tvaru:
select *
from foo
where (date > lower_date and date < upper_date) -- technically this clause isn't needed if they are a day apart
or (date = lower_date and time >= lower_time)
or (date = upper_date and time <= upper_time)
Není to hezké, ale funguje to a umožní mysql používat indexy v poli data, pokud existují.
Váš dotaz by tedy byl
SELECT time,
close
FROM intraday_values
where (date > "2005-03-01" and date < "2005-03-02")
or (date = "2005-03-01" and time >= "15:30")
or (date = "2005-03-02" and time <= "15:14")