-3

我有一张表格,其中包含来自不同用户的推文,我想在其中选择每人最新的推文。我用什么 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
4

2 回答 2

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
于 2013-06-10T08:56:44.807 回答
0

尝试

SELECT twitter_username,tweet FROM your_table
GROUP BY `twitter_username` ORDER BY `date` DESC

GROUP BY 通常与聚合函数一起使用,但没有它们,只会显示第一个匹配的记录。如果您按日期顺序订购,它是最新的。

于 2013-06-10T08:51:22.827 回答