문제

I have a query shown below

SELECT 
  league.country as id, 
  array_agg(DISTINCT row(league.id, league.name::varchar)) AS league_names, 

FROM league 
GROUP BY league.country

How can I sort by league.name::varchar in array_agg function?

도움이 되었습니까?

해결책

Aggregates accept an ORDER BY. So you can write:

array_agg(thecol ORDER BY someothercol)

e.g.

array_agg(
  DISTINCT 
  row(league.id, league.name::varchar) 
  ORDER BY league.name
) AS league_names, 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top