Như bạn đã phát hiện ra, bạn không thể kết hợp DISTINCT
và ORDER BY
nếu bạn không sắp xếp theo biểu thức riêng biệt trước:
-
không tổng hợp:
-
cũng không phải trong SELECT:
Tuy nhiên, có thể sử dụng một cái gì đó như
array_to_string(arry_uniq_stable(array_agg(nome ORDER BY tid DESC)), ', ')
với sự trợ giúp của hàm arry_uniq_stable
loại bỏ các bản sao trong một mảng mà thay đổi thứ tự của nó như tôi đã đưa ra ví dụ trong https:// stackoverflow.com/a/42399297/5805552
Vui lòng lưu ý sử dụng ORDER BY
biểu thức thực sự cung cấp cho bạn một kết quả xác định. Với ví dụ bạn đã đưa ra, tid
một mình sẽ là không đủ, vì có các giá trị trùng lặp (8) với các nome
khác nhau .