SQL查询获得最大的不同日期 - 种类

时间:2008-11-17 01:42:54

标签: sql mysql

我有两个表:文章和文章标记

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 

这甚至可能吗?

2 个答案:

答案 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