sql >> Databasteknik >  >> RDS >> PostgreSQL

postgresql-sortera array efter ord i varje element

Det här känns ganska klumpigt, men jag kan inte komma på en enklare lösning just nu:

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;


  1. Återställ rotlösenordet för MySQL på Windows

  2. Kan inte ansluta till MySQL-servern på 'localhost' (10061) efter installationen

  3. Skillnad mellan två års månads- och dagvärden i Oracle

  4. lagra TEXT/BLOB i samma tabell eller inte?