我有这个基础:http://sqlfiddle.com/#!2/e5a24/2这是WordPress默认架构的简写。我已经删除了该示例不需要的字段。
正如您所看到的,在结果中我有两次“类别1”。我喜欢做的是只获得“第1类”的最新实例。
该SQL的正确结果如下:
POSTID POSTTITLE CATEGORYID CATEGORYNAME DATE
--------------------------------------------------------------
2 2st Game 2 Category 2 January, 01 2013 00:00:00+0000
3 1st Game 1 Category 1 January, 15 2013 00:00:00+0000
我尝试了Group By“CategoryID”但是我在结果中只获得了一个类别1的实例,但我得到的是旧版本,而不是属于“类别1”的最早记录。
对此有任何想法,我该如何解决?
答案 0 :(得分:4)
SELECT a.ID AS PostID,
a.post_title AS PostTitle,
c.meta_value AS CategoryID,
d.name AS CategoryName,
a.post_date AS Date
FROM wp_posts a
INNER JOIN
(
SELECT post_title, MAX(post_date) max_date
FROM wp_posts
GROUP BY post_title
) b ON a.post_title = b.post_title AND
a.post_date = b.max_date
INNER JOIN wp_postmeta c
ON a.ID = c.post_ID
INNER JOIN wp_terms d
ON c.meta_value = d.term_ID
WHERE c.meta_key = 'matchdayTeamsCategory'
答案 1 :(得分:2)
您必须在GROUP BY
中使用MIN(日期)答案 2 :(得分:2)
按日期使用DESC来获得"类别1和#34;最新