我有一个数据集,其中每一行都会收到三个类别之一的%分配。我想添加一个“未分类”类别,它只考虑在三个提供的类别之间未分配的剩余%。
类别A,B和C都是数据类型float。
SELECT
[Category A],
[Category B],
[Category C],
[Category A]+[Category B]+[Category C] [CatTotal],
1-([Category A]+[Category B]+[Category C]) [Unclassified]
FROM Dataset
产量
<table>
<tr>
<th>Category A</th>
<th>Category B</th>
<th>Category C</th>
<th>Category Total</th>
<th>Unclassified (1-Category Total)</th>
</tr>
<tr>
<td align = 'center'>0</td>
<td align = 'center'>0.333333333333333</td>
<td align = 'center'>0.666666666666667</td>
<td align = 'center'>1</td>
<td align = 'center'>2.22044604925031E-16</td>
</tr>
</table>
奇怪的是,如果我在临时表中重新创建类别A,B和C的确切值,也存储为float,那么运行相同的代码,我得到0如预期的那样。这里发生了什么?