gpt4 book ai didi

postgresql - string_agg 没有函数匹配给定的名称

转载 作者:行者123 更新时间:2023-11-29 11:09:19 32 4
gpt4 key购买 nike

我有关系数据库并且想使用 string_agg() 因为它似乎符合我的需要。

我想要:

product_id | quiz_id
-----------+----------
1 | 1,6
2 | 2,7
3 | 3,8
4 | 4

这是我的数据库。

    select quiz_id , product_id, lastmodified from dugong.quiz;
quiz_id | product_id | lastmodified
---------+------------+-------------------------------
1 | 1 | 2015-11-11 14:46:55.619162+07
2 | 2 | 2015-11-11 14:46:55.619162+07
3 | 3 | 2015-11-11 14:46:55.619162+07
4 | 4 | 2015-11-11 14:46:55.619162+07
5 | 5 | 2015-11-11 14:46:55.619162+07
6 | 1 | 2015-11-11 14:46:55.619162+07
7 | 2 | 2015-11-11 14:46:55.619162+07
8 | 3 | 2015-11-11 14:46:55.619162+07

我的尝试:
引用文档。 How to concatenate strings of a string field in a PostgreSQL 'group by' query? http://www.postgresql.org/docs/current/static/sql-expressions.html#SYNTAX-AGGREGATES

select product_id , string_agg(quiz_id, ',' order by lastmodified) from dugong.quiz;
ERROR: function string_agg(integer, unknown) does not exist
LINE 1: select product_id , string_agg(quiz_id, ',' order by lastmod...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.


Postgres 版本:
PostgresApp 9.4.4.1

更新:
@代码僧侣还是报错。

select product_id , string_agg(quiz_id::int, ',' order by lastmodified) from dugong.quiz;
ERROR: function string_agg(integer, unknown) does not exist
LINE 1: select product_id , string_agg(quiz_id::int, ',' order by la...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

问题:
我的查询有什么问题?

最佳答案

试试这个:

select product_id , string_agg(quiz_id::character varying, ',' order by lastmodified) 
from quiz group by product_id;

String_agg 函数仅适用于字符串值,您收到错误是因为 quiz_id 是整数。

我已将其转换为character varying 并添加分组依据以明智地对数据产品 ID 进行分组。

SQL Fiddle 示例:http://sqlfiddle.com/#!15/9dafe/1

关于postgresql - string_agg 没有函数匹配给定的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717624/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com