2013-02-23 4 views
1

Я использую WordPress для создания системы оценки для компании, и мне нужно создать пользовательский запрос, который не работает в моем случае.MySQL | Как получить последние статьи из каждой категории?

Here (http://sqlfiddle.com/#!2/1f510/1) У меня есть копия моих реальных данных, как и в моей базе данных, а также запрос, который я использую для извлечения моих данных.

Как вы можете видеть, я получаю четыре ряда в результате. Каждая строка соответствует категории, но проблема в том, что я получаю самую старую должность из каждой категории, а не последнюю, что требуется.

Любая идея о том, как изменить этот запрос, чтобы получать последние сообщения из каждой категории?

+1

возможно дубликат [Выбрать строку с меткой времени по величине в каждой категории] (http://stackoverflow.com/вопросы/11783072/выбрать-строку-с-крупным-временная метка-в-каждой-категории) – Barmar

ответ

1
SELECT ID AS PostID, 
     post_title AS PostTitle, 
     meta_value AS CategoryID, 
     name AS CategoryName, 
     post_date AS `Date` 
    FROM (SELECT * 
      FROM wp_posts AS p 
       INNER JOIN wp_postmeta AS m 
        ON p.ID = m.post_id 
       INNER JOIN wp_terms AS t 
        ON m.meta_value = t.term_id 
     WHERE m.meta_key = 'matchdayTeamsCategory' 
     ORDER BY p.post_date DESC) tmpView 
GROUP BY CategoryName; 
Смежные вопросы