mysql在嵌套的select和count中舍入和计数

时间:2012-10-17 01:26:37

标签: mysql count rounding

我正在尝试构建一种计算器,它会在我的数据库中添加和增加某些数据。

我在嵌套选择(和其他计数)中正确使用mysql round()函数时遇到了问题。

我的代码示例如下,任何帮助将不胜感激。 (代码看起来比实际更复杂......)

如果我从每个嵌套选择中删除“选择回合”,则此方法有效。我的目标是采用每个计算的Floor(某些数字x计算结果),但每次计算都会进行计算。

select 
    FLOOR
    (
        select round(   1 * 
                (
                    SELECT count(action) from table
                )
        )
    +
        select round(   .5 *    
                (
                    SELECT count(action) from table

                )
        )
    -
        select round(   .5 *
                (
                    SELECT count(action) from table

                )
        )
    -
        select round(   .1 *
                (
                    SELECT count(action) from table

                )
        )
    ) as total
from table
LIMIT 0,1

2 个答案:

答案 0 :(得分:1)

请尝试

select 
    FLOOR
    (
        round(   1 * 
                (
                    SELECT count(action) from table
                )
        )
    +
        round(   .5 *    
                (
                    SELECT count(action) from table

                )
        )
    -
        round(   .5 *
                (
                    SELECT count(action) from table

                )
        )
    -
        round(   .1 *
                (
                    SELECT count(action) from table

                )
        )
    ) as total
from table
LIMIT 0,1

这是语法错误。

答案 1 :(得分:1)

这就是你追求的吗?因为所有表名和字段名都相同,所以很难说出你想要做什么。但是,假设所有字段都来自一个表:

select 
  floor(
        round(   1 * count(action))
    +   round(  .5 * count(action))
    -   round(  .5 * count(action))
    -   round(  .1 * count(action))) 
from table
LIMIT 0,1