SELECT * FROM (
SELECT *,
@rank := IF(@current_day = DATE(your_date_column), @rank + 1, 1) AS rank,
@current_day := DATE(your_date_column)
FROM your_table_name
JOIN (SELECT @current_day := NULL, @rank := 0) AS init
ORDER BY DATE(your_date_column), your_order_column
) AS t
WHERE t.rank <= 3;