postgresql 8.2.11中的等效组

postgresql 8.2.11中的等效组,sql,postgresql,postgresql-8.2,Sql,Postgresql,Postgresql 8.2,我使用的是Postgres 8.2.11的旧版本。有谁能告诉我,在这篇博士后8.2.11中,MySql的group_concat是什么。我尝试过array\u acum,array\u to\u string,string\u agg,但在这个版本中它不起作用注释中的应该为您指出正确的方向:。首先,您需要一个非聚合字符串连接函数,如下所示: create function concat(t1 text, t2 text) returns text as $$ begin return t

我使用的是Postgres 8.2.11的旧版本。有谁能告诉我,在这篇博士后8.2.11中,MySql的
group_concat
是什么。我尝试过
array\u acum
array\u to\u string
string\u agg
,但在这个版本中它不起作用

注释中的应该为您指出正确的方向:。首先,您需要一个非聚合字符串连接函数,如下所示:

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\u concat
随心所欲:

select group_concat(s)
from t
group by g
我从我的档案中找到了这个,但我认为它应该在8.2中起作用


请记住,8.2不再受支持,因此您可能希望尽快升级到至少8.4。

可能重复的@hims056您不能正确阅读问题吗?我要求的是8.2.11,您显示的可能重复的问题是8.4可能重复的问题不是8.4。答案是8.4。@hims056是的,但我需要8.2.11。。。所以我找不到我的答案你能给出8.2.11的答案吗please@hims056您可能重复的问题中指定的答案均不适用于8.2.11。。。。所以请不要试图结束这个问题???我需要在组concat之间加逗号result@soul:如果要在结果中使用逗号,则可以修改
concat
以包含逗号,然后在
create aggregate
中添加一个
finalfunc
,该函数通过一个简单的
子字符串
调用去除前导逗号。您可能还需要阅读有关如何处理空值的手册,并调整聚合以获得所需的行为。现在查询的问题是,它在组连接时不接受空值。。。你能给出一个可以用替换空值的函数吗0@soul:您可以使用。我的输出以这种方式显示“1000046智能lite twister 20W 89013991321209 191.08{213.04}{1000001}1000047 PARLE 20-20黄油饼干(50GM)8901719904431 4.46{4.73,4.73}{100001000002}”`