Sql 求和或执行某些算术运算时出错

Sql 求和或执行某些算术运算时出错,sql,postgresql-9.5,Sql,Postgresql 9.5,每当我执行一些运算,比如求和或算术运算,我都会得到这样的错误 SELECT id,car_model,SUM(price) FROM car; ERROR: function sum(character varying) does not exist LINE 1: SELECT id,car_model,SUM(price) FROM car; ^ 提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。如提示中所示,您需要将p

每当我执行一些运算,比如求和或算术运算,我都会得到这样的错误

SELECT id,car_model,SUM(price) FROM car;
ERROR:  function sum(character varying) does not exist
LINE 1: SELECT id,car_model,SUM(price) FROM car;
                        ^

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

如提示中所示,您需要将
price
属性从
VARCHAR
转换为数值格式,如
DECIMAL
。您可以尝试:

SELECT id, car_model,
       SUM(price::numeric) -- or use whatever type is appropriate
FROM car
GROUP BY id, car_model;
从car中选择id、car\u model、SUM(CAST(价格为十进制(10,2));

您的查询有多个问题。首先,
price
存储为字符串。您应该解决这个问题。它应该是一个数字。希望它可以作为字符串转换为数字

其次,您的查询是一个聚合查询,没有
分组依据
。因此,您可以尝试:

SELECT id, car_model,
       SUM(price::numeric) -- or use whatever type is appropriate
FROM car
GROUP BY id, car_model;
您可能会遇到转换错误。但这是因为您的数据模型不正确,允许非数字价格