Mysql 如何根据两列的结果输出列表

Mysql 如何根据两列的结果输出列表,mysql,Mysql,我有一个数据库,存储馆长提交的每一件产品,并在那里注册是否获得批准。我需要生成一个列表,在其中显示他们的分数,由提交更多(subm)并获得批准(appr)的人排序。为此,我需要获得批准率(通过划分appr/subm),我们称之为ar(批准率),然后我需要第二次操作来获得cs(策展人分数),这是appr*(ar*ar)的结果 最终输出应如下所示: | Curator | subm | appr| ar | cs | ---------------------------

我有一个数据库,存储馆长提交的每一件产品,并在那里注册是否获得批准。我需要生成一个列表,在其中显示他们的分数,由提交更多(
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 

但是我不知道怎么做。

将现有查询用作子查询可能是最简单的方法:

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 cs