Loại bỏ sự cần thiết phải thực hiện một sự khác biệt bằng cách tổng hợp trước
select string_agg(sometext, ' ' order by numval)
from (
select sometext, min(numval) as numval
from t
group by sometext
) s
câu trả lời của @ Gordon
đã mang lại một điểm tốt. Đó là nếu có các cột cần thiết khác. Trong trường hợp này, một distinct on
được khuyến khích
select x, string_agg(sometext, ' ' order by numval)
from (
select distinct on (sometext) *
from t
order by sometext, numval
) s
group by x