问题描述
每当我执行诸如SUM或算术运算之类的操作时,都会出现这样的错误
SELECT id,car_model,SUM(price) FROM car;
ERROR: function sum(character varying) does not exist
LINE 1: SELECT id,SUM(price) FROM car;
^
提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
解决方法
如提示中所给,您将需要将price
的{{1}}属性类型转换为数字格式,例如VARCHAR
。您可以尝试:
DECIMAL
,
您的查询存在多个问题。首先,price
作为字符串存储。你应该解决这个问题。它应该是一个数字。希望可以将其转换为数字。
第二,您的查询是没有group by
的聚合查询。因此,您可以尝试:
SELECT id,car_model,SUM(price::numeric) -- or use whatever type is appropriate
FROM car
GROUP BY id,car_model;
您可能会遇到转换错误。但这是因为您有一个错误的数据模型,该模型允许使用非数字价格。