PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

tableau postgresql-sort par mots dans chaque élément

Cela semble plutôt maladroit, mais je ne peux pas penser à une solution plus simple pour le moment :

with val (col) as (
  values (ARRAY['CAT','CAT DOG CAT','DOG Cat'])
), word_list as (
  select unnest(col) as pc
  from val
), wc as (
  select array_length(string_to_array(pc, ' '),1) as word_count, pc
  from word_list
)
select array_agg(pc order by word_count desc)
from wc;