Rumah  >  Artikel  >  pangkalan data  >  Bagaimana Mendapatkan Masa Lawatan Terkini untuk Setiap Pengguna dalam MySQL Menggunakan ActiveRecord?

Bagaimana Mendapatkan Masa Lawatan Terkini untuk Setiap Pengguna dalam MySQL Menggunakan ActiveRecord?

DDD
DDDasal
2024-10-27 20:59:30664semak imbas

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

Menggunakan DISTINCT ON dengan MySQL Menggunakan ActiveRecord

Untuk mendapatkan semula masa lawatan terkini bagi setiap pengguna berbeza menggunakan MySQL, sintaks untuk DISTINCT ON ialah tidak disokong. Sebaliknya, anda boleh menggunakan fungsi GROUP BY dan MAX.

Pertanyaan dan Keputusan:

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

Output:

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

Penjelasan:

  • KUMPULAN OLEH mengumpulkan hasil mengikut user_id.
  • MAX memilih nilai maksimum (masa terkini) untuk setiap kumpulan.

Pertanyaan ini mencapai jangkaan keluaran kamus yang setiap ID pengguna sepadan dengan masa lawatan terakhir mereka.

Atas ialah kandungan terperinci Bagaimana Mendapatkan Masa Lawatan Terkini untuk Setiap Pengguna dalam MySQL Menggunakan ActiveRecord?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn