我有一张包含来自不同用户的推文的表格,我想在每个人中选择最新的推文。我用什么SQL来检索这些?
twitter_username tweet date
stevdobb tweet one 2013-06-07 12:00
stevdobb tweet two 2013-06-09 12:00
stevdobb tweet three 2013-06-05 12:00
other_username tweet four 2013-06-10 12:00
答案 0 :(得分:4)
您可以创建子查询以按用户查找最新日期
select twitter_username, max(date) from tweets group by twitter_username
然后您可以使用此子查询来获取所需的推文
select tweets.* from tweets join (
select twitter_username, max(date) max_date
from tweets group by twitter_username
) latest on
latest.twitter_username = tweets.twitter_username and
latest.max_date = tweets.date
答案 1 :(得分:0)
试
SELECT twitter_username,tweet FROM your_table
GROUP BY `twitter_username` ORDER BY `date` DESC
GROUP BY通常与聚合函数一起使用,但如果没有它们,则只显示第一个匹配的记录。如果按日期desc订购,则为最新版本。