ホームページ > データベース > mysql チュートリアル > MySQL を使用して Rails で各一意のユーザーの最新の訪問時間を取得するにはどうすればよいですか?

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

Barbara Streisand
リリース: 2024-10-29 04:12:29
オリジナル
608 人が閲覧しました

How to Retrieve the Latest Visit Time for Each Unique User in Rails with MySQL?

MySQL を使用して Rails ですべての異なるユーザーの最新の訪問を確認する方法

各異なるユーザーの最新の訪問時間を取得したい場合あなたのデータベースに。 ActiveRecord クエリで DISTINCT ON 関数を使用しようとしていますが、SQL 構文エラーが発生しました。

DISTINCT ON 関数は PostgreSQL に固有であり、MySQL はサポートしていません。代わりに、GROUP BY 関数と MAX 関数を使用すると、目的の結果を得ることができます。

クエリを次のように変更します。

<code class="ruby">Event.group(:user_id).maximum(:time)</code>
ログイン後にコピー

このクエリは、user_id でイベントをグループ化し、最大値を返します。各グループの時間値。これにより、各固有のユーザーの最新の訪問時間が得られます。

出力:

結果の出力はハッシュになり、キーは user_id と値になります。は、Time オブジェクトとしての最新の訪問時刻です:

<code class="ruby">{ 21 => Tue, 18 Dec 2018 11:15:24 UTC +00:00,
  23 => Thu, 20 Dec 2018 06:42:10 UTC +00:00 }</code>
ログイン後にコピー

strftime を使用して、好みに合わせて時間値をフォーマットできることに注意してください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート