sql >> Databáze >  >> RDS >> Mysql

jak používat DISTINCT ON s mysql pomocí ActiveRecord

Chcete tedy všechny návštěvy uživatelů s časem poslední návštěvy.

Místo použití DISTINCT můžete použít funkci GROUP s MAX funkce.

Dotaz vypadá takto

Events.group(:user_id).maximum(:time)

Tím získáte požadované výsledky

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

Doufám, že to pro vás funguje.

FYIDISTINCT ON (sloupce). je syntaxe PostgreSQL.



  1. Jak vrátit všechna nedůvěryhodná omezení CHECK v SQL Server (příklad T-SQL)

  2. IDENT_CURRENT vs @@IDENTITY vs SCOPE_IDENTITY v SQL Server:Jaký je rozdíl?

  3. Po odstranění resetujte AutoIncrement v SQL Server

  4. Lehký V Kostce