sql >> Database >  >> RDS >> PostgreSQL

Afzonderlijke kolomwaarden ordenen op (eerste waarde van) andere kolom in aggregatiefunctie

Elimineer de noodzaak om een ​​onderscheid te maken door vooraf te aggregeren

select string_agg(sometext, ' ' order by numval)
from (
    select sometext, min(numval) as numval
    from t
    group by sometext
) s

@Gordons antwoord bracht een goed punt. Dat wil zeggen als er andere kolommen nodig zijn. In dit geval een distinct on wordt aanbevolen

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


  1. java.sql.SQLEException:Uitgeputte resultatenset

  2. Hoe de datum en tijd in SQL Server te formatteren?

  3. Scala &Spelen! &Slick &PostgreSQL automatisch verhogen

  4. Apache - MySQL-service gedetecteerd met verkeerd pad. / Poorten die al in gebruik zijn