2017-09-22 41 views
1

,我MYSQL數據庫包含表稱爲new-sell與下面的列registeredDayproductFinalPrice他們表現出註冊購買日期該條目是,取得如何舍最終結果查詢

|=====================================| | productFinalPrice | registeredDay | |=====================================| | 600,00 | 2017-09-19 18:45:16 | | 435,50 | 2017-09-18 18:45:16 | | 817,60 | 2017-09-17 18:45:16 | | 176,00 | 2017-09-16 18:45:16 | | 600,00 | 2017-09-15 18:45:16 | | 600,00 | 2017-09-14 18:45:16 | | 600,00 | 2017-09-13 18:45:16 | | 842,10 | 2017-09-20 18:45:16 | | 415,20 | 2017-09-21 18:45:16 | | 230,45 | 2017-09-22 18:45:16 | | 400,00 | 2017-09-20 18:45:16 | | 375,00 | 2017-09-20 18:45:16 | =======================================

我使用這個MySQL命令相比昨天計算平均收入和昨天之前我

SELECT PRICE_T/(PRICE_T2-PRICE_T) * 100 AS PERC 
FROM (SELECT SUM(CASE WHEN RN=1 THEN PRICE_I2 ELSE 0 END) AS PRICE_T 
      , SUM(PRICE_I2) AS PRICE_T2 
     FROM (SELECT CAST(registeredDay AS DATE) AS DDATE 
      , SUM(productFinalPrice) AS PRICE_I2 
      , @RN:[email protected]+1 AS RN 
      FROM new_sell 
      CROSS JOIN (SELECT @RN:=0) X 
      WHERE registeredDay BETWEEN DATE_ADD(CURDATE(), INTERVAL -2 day) AND CURDATE() 
      GROUP BY CAST(registeredDay AS DATE) 
      ORDER BY CAST(registeredDay AS DATE) 
      ) B 
    ) C; 

這是最終結果。 37,1057513914657

但是我想這一輪最終值通過ROUND()如何可以添加命令上述查詢

感謝您幫助我:]

回答

1

您可以在選擇直接使用MySQL的round()功能。

SELECT 
    ROUND(PRICE_T/(PRICE_T2-PRICE_T) * 100) AS PERC 
FROM (SELECT SUM(CASE WHEN RN=1 THEN PRICE_I2 ELSE 0 END) AS PRICE_T 
      , SUM(PRICE_I2) AS PRICE_T2 
     FROM (SELECT CAST(registeredDay AS DATE) AS DDATE 
      , SUM(productFinalPrice) AS PRICE_I2 
      , @RN:[email protected]+1 AS RN 
      FROM new_sell 
      CROSS JOIN (SELECT @RN:=0) X 
      WHERE registeredDay BETWEEN DATE_ADD(CURDATE(), INTERVAL -2 day) AND CURDATE() 
      GROUP BY CAST(registeredDay AS DATE) 
      ORDER BY CAST(registeredDay AS DATE) 
      ) B 
    ) C; 
+0

工作完美,謝謝! – Gabriel

0

使用可以使用內圓得像總和 - SELECT ROUND(列,小數)FROM表名;