0

我需要使用 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)

4

1 回答 1

0

如果值从不为 0,您可以执行以下操作:

select avg(cast(value as decimal))
from t
where cast(value as decimal) > 0;

标准偏差的计算有点棘手。您可以使用定义公式,但 SQLite 甚至没有平方根函数。

如果您想要支持这些类型的操作,您可能想要移动到另一个数据库,例如 Postgres 或 MySQL。

于 2017-07-16T23:21:56.687 回答