首頁  >  文章  >  資料庫  >  如何取得MySQL ActiveRecord中所有唯一使用者的最新造訪次數?

如何取得MySQL ActiveRecord中所有唯一使用者的最新造訪次數?

Susan Sarandon
Susan Sarandon原創
2024-10-31 01:02:29530瀏覽

How to Get the Latest Visits of All Unique Users in MySQL ActiveRecord?

如何在 MySQL ActiveRecord 中使用 DISTINCT ON 的等效項

要求是從事件中檢索所有不同用戶的最新訪問桌子。在 ActiveRecord 中將 DISTINCT ON(user_id) 子句與 MySQL 一起使用會導致語法錯誤。

DISTINCT ON 的MySQL 等效項是將GROUP BY 與MAX() 函數一起使用:

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

此查詢將以user_id 分組,並傳回每個群組的時間列的最大值。輸出將以 user_id 為鍵、最新存取時間為值的雜湊值:

{
  21 => "2018-12-18 09:44:59",
  42 => "2018-12-19 12:08:59"
}

注意: DISTINCT ON(columns) 是 PostgreSQL 特定的語法。 MySQL 不直接支援此語法。

以上是如何取得MySQL ActiveRecord中所有唯一使用者的最新造訪次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn