एक संभावना है कि पहले समूह को x . द्वारा समूहित किया जाए और array_agg() . का उपयोग करें आंतरिक सरणी प्राप्त करने के लिए। फिर array_agg() . का उपयोग करके फिर से एकत्रित करें आंतरिक सरणियों को एक बाहरी सरणी में लाने के लिए।
SELECT array_agg(a ORDER BY x)
FROM (SELECT x,
array_agg(val ORDER BY y) a
FROM t1
GROUP BY x) t;