Понадобилось мне выбрать данные, что находится между 2-мя промежутками времени.
Конкретно эти промежутки были описаны так, крайняя левая — самая ранняя запись, крайняя правая — текущий момент.


SELECT *
FROM `base`.`table`
WHERE YEAR( `date` ) >= (
SELECT YEAR( MIN( `date` ) )
FROM `base`.`table`
WHERE 1
LIMIT 1 )
AND MONTH( `date` ) >= (
SELECT MONTH( MIN( `date` ) )
FROM `customer`.`table`
WHERE 1
LIMIT 1 )
AND DAYOFMONTH( `date` ) >= (
SELECT DAYOFMONTH( MIN( `date` ) )
FROM `customer`.`table`
WHERE 1
LIMIT 1 )
AND YEAR( `date` ) <= YEAR( NOW( ) ) AND MONTH( `date` ) <= MONTH( NOW( ) ) AND DAYOFMONTH( `date` ) <= DAYOFMONTH( NOW( ) ) ORDER BY `date` DESC ; [/sql] что делает запрос: он выполняет 3 подзапроса, для выборки минимального года, месяца и числа, в качестве левого условия, и с правой стороны ставит текущие значения даты. Такой вид запроса удобен если параметры как левой части запроса так и правой могут быть заданы.