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

string_agg内の個別の順序を保持します

    ご存知のように、DISTINCTを組み合わせることはできません およびORDER BY 最初に明確な表現で注文しない場合:

    • どちらも総計ではありません:

    • SELECT:

      でも

    ただし、

    のようなものを使用できます
    array_to_string(arry_uniq_stable(array_agg(nome ORDER BY tid DESC)), ', ') 
    

    関数arry_uniq_stableの助けを借りて https://で例を示したように、順序を変更せずに配列内の重複を削除します。 stackoverflow.com/a/42399297/5805552

    ORDER BYを使用するように注意してください 実際に決定論的な結果をもたらす式。あなたが与えた例では、tid nomeが異なる重複値(8)があるため、単独では十分ではありません。 。



    1. 即時選択を実行すると、値が返されません

    2. sqlalchemyの多対多。タグがすでに存在する場合にSQLAlchemyがテーブルに挿入されないようにする

    3. Oracle SQLの「@」記号の意味は何ですか?

    4. 高レベルのPostgresがINSERT/UPDATE速度を低下させていますか?