我有一个数据库,我在其中存储由策展人提交的每个产品,如果它被批准,我就在那里注册。我需要生成一个列表,显示他们的分数,按提交(subm)和批准(appr)较多的人排序。为此,我需要获得审批率(与appr/subm的除法),我们称其为ar (审批率),然后我需要第二次操作来获得cs (策展人得分),这是appr*(ar*ar)的结果。
最终输出应如下所示:
| Curator | subm | appr| ar | cs |
------------------------------------------------
| 1 | 21 | 20 | 95.24% | 18.14058957 |
| 4 | 13 | 12 | 92.31% | 10.22485207 |
| 2 | 10 | 7 | 70.00% | 3.43 |
| 3 | 2 | 2 |100.00% | 2 |为了从我使用的表中获取值
SELECT curator, SUM(prop) subm, SUM(date) appr
FROM control
GROUP BY curator
ORDER BY cs但我需要补充一下:
SUM(appr/subm) ar, SUM(appr*(ar*ar)) cs 但我不知道该怎么做。
发布于 2019-04-28 13:23:45
将现有查询用作子查询可能是最简单的方法:
SELECT *, appr/subm AS ar, appr*(appr/subm*appr/subm)) AS cs
FROM (SELECT curator, SUM(prop) subm, SUM(date) appr
FROM control
GROUP BY curator) c
ORDER BY cshttps://stackoverflow.com/questions/55887239
复制相似问题