MySQL SELECT строк между двумя значениями

Мне нужно выбрать данные из базы данных mysql за последние 12 месяцев на основе текущей даты. У меня есть даты, сохраненные в базе данных как временные метки unix, но мой запрос не работает.

$query="SELECT user_id, COUNT(first_name) AS member_count FROM main_user WHERE renew_date<'$time' AND renew_date>'$old_time' WHERE renew_date!=''"; 

В основном мне нужно подсчитать все экземпляры first_name, где есть отметка времени renew_date.

У вас есть еще WHERE где вы должны использовать AND :

 $query="SELECT user_id, COUNT(first_name) AS member_count FROM main_user WHERE renew_date<'$time' AND renew_date>'$old_time' AND renew_date!=''"; ^^^ 

У вас есть ошибка в вашем запросе, у вас есть два предложения WHERE!

Вы можете найти эту и другие ошибки при проверке возвращаемого значения из вашего запроса

 $query = 'select ...'; $result = $mysqli->query($query); if ($result === false) { // error handling echo $mysqli->error; } else { // query successful // process result set } 

Вы делаете WHERE дважды . Вы можете использовать функцию From_UNIXTIME в mysql

 WHERE FROM_UNIXTIME(renew_date)<NOW() AND FROM_UNIXTIME(renew_date)> (NOW()-INTERVAL 1 year) AND renew_date !=''