我需要使用DB Browser在sqlite数据库中创建一个查询。列是:state,measure_id,measure_name,score。所有数据都以字符串形式输入。我可以将得分字符串转换为十进制,但问题是得分列的某些值是数字,有些是实际的字符串值(例如“高”等)。我需要忽略输出中的REAL字符串值。另外,我需要计算每个measure_id的标准偏差(以及最小值,最大值,平均值)。
如何忽略实际字符串值并计算标准差?
以下是一些示例数据:
sample 1: AL, ID1, Ident, 52
sample 2: TX, ID2, Foo, High
sample 3: MI, ID3, Bar, 21
(我只想选择样本1和3,然后将字符串转换为int并计算stdev)
答案 0 :(得分:0)
如果值从不为0,则可以执行以下操作:
select avg(cast(value as decimal))
from t
where cast(value as decimal) > 0;
计算标准偏差有点棘手。您可以使用定义公式,但SQLite甚至没有平方根函数。
如果您想支持这些类型的操作,您可能希望转移到另一个数据库,例如Postgres或MySQL。