postgresql - 我的 postgresql 查询有什么问题,为什么我没有得到正确的计算
问题描述
所以基本上我有一个数据库/表,其中包含许多学生的 id 以及他们在多个考试中各自的分数。我想要做的是在我的查询中创建一个数学函数,以便我只显示我选择的两个考试从一个考试到下一个考试的百分比变化。这是我的查询,它确实返回了一个结果,但不是我想要的:
SELECT ("2019-2020 NWEA Reading Fall Test Percentile" - "2018-2019 NWEA Reading Spring Test Percentile") / "2018-2019 NWEA Reading Spring Test Percentile" * 100 AS "percentage_change" FROM ppn_practice;
我面临的两个问题是我得到的值不正确,我怀疑这是因为我得到的最终表有一个名为“percentage_change”的列,它是一个 INTEGER 数据类型。我需要知道如何使它成为 NUMERIC。
谢谢你
解决方案
如果您各自的列名是col1
and col2
in tableppn_practice
并且这些列的相应数据类型是数字,则不应出现您的问题。此查询将为您提供您想要的内容:
SELECT (col1- col2) / col3 * 100 AS "percentage_change" FROM ppn_practice;
请通过对列名进行一些更简单的查询来交叉检查您使用的列的数据类型以及列名是否正常。
推荐阅读
- python - Tensorflow:ImportError:DLL load failed while importing _pywrap_tensorflow_internal:找不到指定的模块
- javascript - 用户的详细年龄检查
- javascript - 带有 Vue JS 和 Laravel 的文件上传表单 - 试图显示上传文件的列表?
- java - JsonElement 中的递归键搜索不返回值
- flutter - 在颤动中禁用屏幕截图
- flutter - 在 Flutter Web 中禁用转义键导航
- javascript - 如何修复thead和tbody之间的jquery数据表中的对齐
- c++ - 对命名空间内重载运算符的未定义引用
- python - 使用 Django 查询计算过滤列值的总和时出错
- .net - OPC UA 服务器 .Net 标准