Есть запрос:
SELECT topics.*,
if (topics.expire > '2019-07-02 00:28:03', 1, 0) AS state
FROM `topics` WHERE `topics`.`deleted_at` IS NULL ORDER BY state DESC LIMIT 20
Получаем 20 строк...
Хочу также посчитать количество постов!
Пробовал так:
SELECT topics.*,
(SELECT COUNT(posts_id) WHERE server_id = servers.id) AS posts_count,
if (topics.expire > '2019-07-02 00:28:03', 1, 0) AS state
FROM `topics`
INNER JOIN `posts` ON `posts`.`topic_id` = `topics`.`id`
WHERE `topics`.`deleted_at` IS NULL ORDER BY state DESC LIMIT 20
Получается только 1 строка...
Пробовал и так:
SELECT topics.*,
COUNT(posts_id) AS posts_count,
if (topics.expire > '2019-07-02 00:28:03', 1, 0) AS state
FROM `topics`
INNER JOIN `posts` ON `posts`.`topic_id` = `topics`.`id`
WHERE `topics`.`deleted_at` IS NULL ORDER BY state DESC LIMIT 20
Тоже получается 1 строка!
Что не так делаю? Как получить все те же 20 строк + еще count postov по каждому топику?
Count подразумевает что будет использоваться функция group_by, поэтому у Вас получается 1 строка. Для того чтобы заработало то, что вы хотите необходимо скорректировать свой запрос:
SELECT topics.*, count(posts_id) as posts,
if(topics.expire > '2019-07-02 00:28:03', 1, 0) AS state
FROM `topics`
INNER JOIN `posts` ON `posts`.`topic_id` = `topics`.`id`
WHERE `topics`.`deleted_at` IS NULL
GROUP BY topics.id
LIMIT 20
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Ребят, всем привет! столкнулся с такой проблемой - сохранение картинки на сервер
Приходит от апи ответМне нужно получить некоторые значения из него, но свойство xmlData protected и не могу получить доступ к нему