Nie masz pewności, czy Twoje pole daty jest zindeksowane. Jeśli tak, to przykłady podane przez innych mogą nie działać zbyt dobrze.
Alternatywnie możesz użyć zapytania w postaci:
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)
To nie jest ładne, ale działa i pozwoli mysql korzystać z indeksów w polu daty, jeśli istnieją.
Twoje zapytanie to
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")