我有两个表:文章和文章标记
articles: id, author, date_time, article_text
articletags: id, tag
(article.id == articletags.id in a many-to-many relationship)
我是在最后一次在每个标签下发布某些内容之后。换句话说,对于每个标签,查看与其相关的所有文章并找到最新的文章并返回。
例如 文章:
1, me, 12 Nov, Sometext
2, me, 13 Nov, Sometext
3, me, 14 Nov, Sometext
文章标签
1, foo
1, bar
2, foo
3, bar
我想回来:
foo, 13 Nov
bar, 14 Nov
我可以得到一个内部联接,然后我很难过。我不认为DISTINCT条款是我所追求的,我对子查询不够熟悉,不知道这是否会有所帮助。
SELECT date_time, tag
FROM articles, articletags
WHERE articles.id = articletags.id
这甚至可能吗?
答案 0 :(得分:4)
select t.tag, max(a.date_time) as latest
from articles a
inner join articletags t
on t.id = a.id
group by t.tag
答案 1 :(得分:0)
SELECT date_time, tag
FROM articles, articletags
WHERE articles.id = articletags.id
ORDER BY date_time DESC
GROUP BY tag