Попытка построить несколько сложный запрос WordPress. В одном запросе я пытаюсь:
- Потяните всех авторов WordPress
- Только авторы с 10 или более опубликованными постами (с чем у меня проблемы)
- Сортировка авторов по последнему сообщению.
Вот мой оригинальный запрос:
SELECT wp_users.ID, display_name, user_url, user_email, MAX(post_date) as date FROM wp_users, wp_posts WHERE wp_users.ID = wp_posts.post_author AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'post' GROUP BY display_name ORDER BY date DESC;
Этот запрос возвращает всех авторов, даже с 9 или менее опубликованными публикациями.
Вот запрос с количеством сообщений:
SELECT wp_users.ID, display_name, user_url, user_email, MAX(post_date) as date, COUNT(post_date) as post_count FROM wp_users, wp_posts WHERE wp_users.ID = wp_posts.post_author AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'post' GROUP BY display_name ORDER BY date DESC;
В этом запросе вы можете видеть, что я добавил:
COUNT(post_date) as post_count
Который все прекрасно возвращает.
Только когда я добавляю это предложение WHERE, запрос прерывается
post_count > 9
Я получаю это сообщение об ошибке:
Неизвестный столбец 'post_count' в 'предложении where'
Есть идеи, почему это происходит? Мои теории:
- Не будет работать с группировкой
- или MySQL не допускает более одного оператора AS
Если бы вы могли пролить немного света, я был бы очень признателен.
Спасибо.