sql >> データベース >  >> RDS >> PostgreSQL

postgresql-各要素の単語で配列を並べ替える

    これはかなり不器用に感じますが、今のところもっと簡単な解決策は考えられません:

    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. クロス データベース クエリ、結合の長所と短所

    2. MySQL-操作「UNION」の照合(utf8_general_ci、COERCIBLE)と(latin1_swedish_ci、IMPLICIT)の不正な組み合わせ

    3. 入力変数を使用すると、Postgres関数の速度が大幅に低下します

    4. 高度なMySQL:投票応答間の相関関係を見つける