在SQL / SQLPro中获取平均资金

时间:2016-07-31 23:07:58

标签: ios sql macos sqlite

我正在处理一个数据集,而我在尝试计算其中包含美元货币的列的平均值时遇到了麻烦。例如,所有值都以12.00美元,5.43美元,1,234.00美元的格式列出.....

每当我使用下面的代码时,它返回值为0作为平均值。同样,它也为SUM命令做了同样的事情。

SELECT AVG(bill_amount) FROM Trips WHERE trip_date >= '08/13/13';

我使用的代码是否有问题,因为我认为这是正确的。

1 个答案:

答案 0 :(得分:0)

您似乎将bill_amount列中的值存储为文本而不是数字。您可以将它们转换为数字,然后使用平均值。像这样:

select avg(cast(case when substr(bill_amount, 1, 1) between '0' and '9' then bill_amount
                     else substr(bill_amount, 2)
                end) as decimal(18, 4))