possible, and not at all resource intensive if your date column has an index (for the WHERE clause)
SELECT COUNT(*) AS year_count
, COUNT(CASE WHEN MONTH(somedate) =
MONTH(CURRENT_DATE)
THEN 'curly'
ELSE NULL END) AS month_count
, COUNT(CASE WHEN WEEKOFYEAR(somedate) =
WEEKOFYEAR(CURRENT_DATE)
THEN 'larry'
ELSE NULL END) AS week_count
, COUNT(CASE WHEN somedate =
CURRENT_DATE
THEN 'moe'
ELSE NULL END) AS day_count
FROM daTable
WHERE somedate >= CURRENT_DATE - INTERVAL DAYOFYEAR(CURRENT_DATE)-1 DAY
AND somedate < CURRENT_DATE - INTERVAL DAYOFYEAR(CURRENT_DATE)-1 DAY
+ INTERVAL 1 YEAR
SELECT COUNT(trailers.trailer_id) AS videosyear,
SUM(IF(trailers.date >= CURRENT_DATE,1,0)) AS videostoday,
SUM(IF(WEEKOFYEAR(trailers.date) = WEEKOFYEAR(CURRENT_DATE),1,0)) AS videosweek,
SUM(IF(MONTH(trailers.date)= MONTH(CURRENT_DATE),1,0)) AS videosmonth
FROM trailers
WHERE trailers.date >= CURRENT_DATE - INTERVAL DAYOFYEAR(CURRENT_DATE)-1 DAY
AND trailers.date < CURRENT_DATE - INTERVAL DAYOFYEAR(CURRENT_DATE)-1 DAY
+ INTERVAL 1 YEAR
Does that work? It certainly runs okay, and the WHERE clause makes sure there is no overlap on the MONTH WEEK and all that.