Вашият проблем е, че кратката версия на датите използва полунощ по подразбиране. Така че вашата заявка всъщност е:
SELECT users.* FROM users
WHERE created_at >= '2011-12-01 00:00:00'
AND created_at <= '2011-12-06 00:00:00'
Ето защо не виждате записа за 10:45.
Променете го на:
SELECT users.* FROM users
WHERE created_at >= '2011-12-01'
AND created_at <= '2011-12-07'
Можете също да използвате:
SELECT users.* from users
WHERE created_at >= '2011-12-01'
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
Което ще избере всички потребители в същия интервал, който търсите.
Може също да намерите оператора BETWEEN по-четлив:
SELECT users.* from users
WHERE created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));