在数学方程中使用查询的结果集

时间:2014-05-23 01:35:55

标签: mysql

我正在尝试编写一个查询,通过添加一堆不同的某些比率*权重来对结果集进行排序。我很难找到适合它的语法。剥离所有复杂性,查询看起来像这样:

select *, 
(
    (select count(id)/(select something else that returns a number)* 20) 
    +
    (select count(something else)/(select another something else that returns a number) * 50)
    +
    etc.....
) as genNum from table order by genNum

我接近这个错误是否有更多的mysql-y方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

你正在寻找这样的人吗? (从一个表中选择所有)

示例:

select 
    ((count(id)/fruit_amount)*20)
    +
    ((count(old)/fruit_amount)*40)
as
    genNum 
from 
    fruits 
group by 
    id
order by 
    genNum

在小提琴中你会看到count(old)将返回3 count(id)返回6.你也可以count(*),它的结果相同。

<强> SQLFiddle