"काफी डुप्लीकेट नहीं" टिप्पणियों में आपको सही दिशा में इंगित करना चाहिए:अपना खुद का समुच्चय बनाएं समारोह . सबसे पहले आपको एक नॉन-एग्रीगेट स्ट्रिंग कॉन्सटेनेशन फंक्शन की आवश्यकता होगी, कुछ इस तरह:
create function concat(t1 text, t2 text) returns text as $$
begin
return t1 || t2;
end;
$$ language plpgsql;
तब आप उस फ़ंक्शन के अपने स्वयं के समग्र संस्करण को परिभाषित कर सकते हैं:
create aggregate group_concat(
sfunc = concat,
basetype = text,
stype = text,
initcond = ''
);
अब आप group_concat
. कर सकते हैं आप जो चाहते हैं:
select group_concat(s)
from t
group by g
मैंने इसे अपने संग्रह से बाहर निकाला लेकिन मुझे लगता है कि इसे 8.2 में काम करना चाहिए।
ध्यान रखें कि 8.2 अब समर्थित नहीं है, इसलिए हो सकता है कि आप जल्द से जल्द कम से कम 8.4 में अपग्रेड करना चाहें।