sql >> Database teknologi >  >> RDS >> PostgreSQL

postgresql-sort array efter ord i hvert element

Dette føles ret klodset, men jeg kan ikke komme i tanke om en enklere løsning lige 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. Hvordan vælger jeg sidste 30 dages datoer i MySQL, selv om datoerne ikke er til stede i mysql?

  2. ORA-01830:billede i datoformat slutter før konvertering af hele inputstrengen

  3. Bestil efter afhængig af 2 kolonneværdier

  4. Hent indeværende år og næste fra mysql