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

Seřazení odlišných hodnot sloupců podle (první hodnoty) jiného sloupce v agregační funkci

Předběžnou agregací

eliminujte potřebu dělat něco jiného
select string_agg(sometext, ' ' order by numval)
from (
    select sometext, min(numval) as numval
    from t
    group by sometext
) s

@Gordonova odpověď přinesl dobrý bod. Tedy pokud existují další potřebné sloupce. V tomto případě distinct on se doporučuje

select x, string_agg(sometext, ' ' order by numval)
from (
    select distinct on (sometext) *
    from t
    order by sometext, numval
) s
group by x


  1. Seznam položek podle kategorií

  2. Podivný výsledek s UNION a ORDER BY

  3. Laravel Migration - Říká neznámá databáze, ale je vytvořena

  4. Kontrola více sloupců pro jednu hodnotu