2012-10-17 46 views
0

我試圖建立一種計算器,將添加和乘數在我的數據庫中的某些數據。MySQL輪和計數內嵌套選擇和計數

我在嵌套選擇(和其他計數)中正確使用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 

回答

1

這是你在追求什麼?因爲所有的表名和字段名都是相同的,所以很難說出你想要做什麼。但是,假設所有字段都來自單個表格:

select 
    floor(
     round( 1 * count(action)) 
    + round( .5 * count(action)) 
    - round( .5 * count(action)) 
    - round( .1 * count(action))) 
from table 
LIMIT 0,1 
+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 

這是一個語法錯誤。

+0

這樣做了!非常感謝! –