ホームページ  >  記事  >  データベース  >  ActiveRecord を使用して MySQL で各ユーザーの最新の訪問時間を取得するにはどうすればよいですか?

ActiveRecord を使用して MySQL で各ユーザーの最新の訪問時間を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-27 20:59:30664ブラウズ

How to Get the Latest Visit Time for Each User in MySQL Using ActiveRecord?

ActiveRecord を使用した MySQL での DISTINCT ON の使用

MySQL を使用して個別のユーザーごとに最新の訪問時間を取得するには、DISTINCT ON の構文は次のとおりです。サポートされていません。代わりに、GROUP BY 関数と MAX 関数を利用できます。

クエリと結果:

<code class="ruby">Events.group(:user_id).maximum(:time)</code>

出力:

{21=>Tue, 18 Dec 2018 11:15:24 UTC +00:00, 23=>Thu, 20 Dec 2018 06:42:10 UTC +00:00}

説明:

  • GROUP BY は結果を user_id ごとにグループ化します。
  • MAX は各グループの最大値 (最新の時刻) を選択します。

このクエリは期待どおりの結果を達成します。各ユーザー ID が最終訪問時刻に対応する辞書の出力。

以上がActiveRecord を使用して MySQL で各ユーザーの最新の訪問時間を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。