Ditt problem är att den korta versionen av datum använder midnatt som standard. Så din fråga är faktiskt:
SELECT users.* FROM users
WHERE created_at >= '2011-12-01 00:00:00'
AND created_at <= '2011-12-06 00:00:00'
Det är därför du inte ser rekordet för 10:45.
Ändra det till:
SELECT users.* FROM users
WHERE created_at >= '2011-12-01'
AND created_at <= '2011-12-07'
Du kan också använda:
SELECT users.* from users
WHERE created_at >= '2011-12-01'
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
Vilket kommer att välja alla användare i samma intervall som du letar efter.
Du kanske också tycker att operatorn MELLAN är mer läsbar:
SELECT users.* from users
WHERE created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));