Рассматривая ваш вопрос и запрос, я думаю, что наиболее очевидные причины, по которым ваш запрос всегда возвращает 0, могут быть:
В таблице offer
нет is_solved
= 0 для любой из его записей.В результате условие WHERE offer.is_solved = 0
не имеет соответствующих записей.Не могли бы вы подтвердить это для своих данных?
В таблице offer
нет данных, и, следовательно, ПРАВОЕ СОЕДИНЕНИЕ не дает результатов.Но, как вы упомянули в одном из ваших комментариев к ответу Рахула, в offer
есть 3000 записей, я думаю, эта причина маловероятна.
Ага, может быть и другая причина: Вы уверены, что лимит и смещение, отмеченные $interval_begin
и $interval_end
, установлены правильно?Возможно, если они оба установлены в 0, запрос всегда будет возвращать 0. Можете ли вы попробовать выполнить «echo / print» вашего запроса и посмотреть, как он выглядит точно?
Поскольку я не понимаю вашегосхема, это только предложение, я думаю, что если у вас есть столбец offer.is_solved
, вам не нужно ПРАВИЛЬНОЕ СОЕДИНЕНИЕ с solution
.Следующий запрос должен работать одинаково хорошо, не так ли?
SELECT COUNT(*) AS `s_count`
FROM `offer`
WHERE `offer`.`is_solved` = 0
ORDER BY `offer`.`creation_time`
DESC LIMIT $interval_begin, $interval_end;
Надеюсь, это поможет!