Come hai scoperto, non puoi combinare DISTINCT
e ORDER BY
se prima non ordini in base all'espressione distinta:
-
né in aggregati:
-
né in SELECT:
Tuttavia potrebbe usare qualcosa come
array_to_string(arry_uniq_stable(array_agg(nome ORDER BY tid DESC)), ', ')
con l'aiuto di una funzione arry_uniq_stable
che rimuove i duplicati in un array senza alterarne l'ordine come ho fornito un esempio in https:// stackoverflow.com/a/42399297/5805552
Si prega di fare attenzione a utilizzare un ORDER BY
espressione che in realtà ti dà un risultato deterministico. Con l'esempio che hai fornito, tid
da solo non sarebbe sufficiente, in quanto esistono valori duplicati (8) con nome
diversi .