如何使用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_ids 和值是作為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中文網其他相關文章!