Как работать с датами?
... WHERE created_at BETWEEN @a1 AND @a2
где @a1 =  strtotime(date('2015-01-05 00:00:00'))
@a2 = strtotime('-20 days');
MySQL самостоятельно умеет работать с датой и временем - в частности, приводить его к timestamp и прибавлять интервалы.RTFM