没有函数匹配给定的名称和参数类型。在带有 python 的 postgres 中

Posted

技术标签:

【中文标题】没有函数匹配给定的名称和参数类型。在带有 python 的 postgres 中【英文标题】:No function matches the given name and argument types. in postgres with python 【发布时间】:2021-02-13 00:42:33 【问题描述】:

python 代码:

    if aggregate_name and aggregate_value and aggregate_type:
        query = "SELECT SUM(country) FROM soubhagyasalesdata GROUP BY ordernumber"
        print(query)
    else:
        query = "SELECT * FROM ".format(table_name)

错误:

    UndefinedFunction at /api/datasets/reports/
    function sum(text) does not exist
    LINE 1: SELECT SUM(country) FROM soubhagyasalesdata GROUP BY ordernu...
                ^
    HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

我在这里尝试使用 python 从我的 postgres 数据库中查询 但是,我正在处理错误。

请看一下

【问题讨论】:

你想做什么? country 是字符串,不能求和。 【参考方案1】:

您不能像预期的那样对字符串值求和。如果您想计算每个订单号在表中存在多少不同的国家,请使用count(distinct)

SELECT ordernumber, COUNT(DISTINCT country) cnt_country 
FROM soubhagyasalesdata 
GROUP BY ordernumber

【讨论】:

以上是关于没有函数匹配给定的名称和参数类型。在带有 python 的 postgres 中的主要内容,如果未能解决你的问题,请参考以下文章

PL/PgSQL:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换

在数据迁移时,出现错误:运算符不存在:布尔 = 整数提示:没有运算符与给定的名称和参数类型匹配

没有运算符与给定名称和参数类型匹配。您可能需要添加显式类型转换。 -- Netbeans、Postgresql 8.4 和 Glassfish

如何强制函数参数为相同类型并且不允许使用类型构造函数匹配给定类型?

如何在 Postgres 中执行函数

给定传递给它的参数类型,如何确定函数参数的类型?