-3

さまざまなユーザーからのツイートを含むテーブルがあり、1 人あたりの最新のツイートを選択したいと考えています。これらを取得するためにどの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 に答える