sql >> Databáze >  >> RDS >> PostgreSQL

Získejte seznam prvních záznamů pro každou skupinu

Jiný případ pro DISTINCT ON :

SELECT DISTINCT ON (username) *
FROM   log
ORDER  BY username, created_at;

Vrátí celý řádek pro "první" záznam pro username .

Podrobnosti:

Podobná odpověď pro Ruby / AR / Postgres:

Jak spustit nezpracovaný SQL:

Tato syntaxe Ruby by měla fungovat:

Log.select("DISTINCT ON (username) *").order(:username, :created_at)


  1. Proč je načítání objektů SQLAlchemy přes ORM 5-8x pomalejší než řádky přes nezpracovaný kurzor MySQLdb?

  2. Rozdíl mezi set, \set a \pset v psql

  3. nesprávný specifikátor sloupce pro sloupec

  4. Jaký je výchozí název omezení v Oracle?