Вы используете MySQL, поэтому вы можете воспользоваться его функцией, заключающейся в том, что логическое выражение оценивается как 0 для false и 1 для true. SUM()
из 1 равно COUNT()
, где выражение истинно.
SELECT SUM( date_column < '2009-08-21' ) AS prior_to_date,
SUM( date_column > '2009-08-21' ) AS after_date
FROM MyTable;
PS: не пытайтесь делать это с базами данных других марок, поддерживающими стандартное поведение SQL, то есть логическое выражение дает логическое значение, а не целое число 0 или 1.