2017-03-02 61 views
0

我想在十进制后删除数字如何解决它?如何从mysql结果中删除十进制数字?

我的查询是:

SELECT city_name, 
     Assignedto, 
     COUNT(Assignedto) AS TC, 
     CONCAT(count(CASE 
         WHEN STATUS = 'CLOSED' THEN 1 
         ELSE NULL 
        END) * 100/count(1), '%') AS SC, 
     CONCAT(count(CASE 
         WHEN STATUS = 'PENDING' THEN 1 
         ELSE NULL 
        END) * 100/count(1), '%') AS PC, 
     SUM(TIMESTAMPDIFF(MINUTE,Request_Date, Xetr))/60 AS WH, 
     (154440-sum(TIMESTAMPDIFF(MINUTE,Request_Date, Xetr))/60) AS VH, 
     CONCAT(COUNT(Feedback_Rate)/COUNT(Assignedto)*100,'%') AS Feed_Percent, 
     SUM(Feedback_Rate)/(count(Feedback_Rate)*5)*5 AS AVG_Feedback 
FROM `it_service_ticket` 
INNER JOIN `it_problem`ON `it_service_ticket`.`it_problem_id`=`it_problem`.`it_problem_id` 
INNER JOIN `city_master` ON `it_service_ticket`.cityid=`city_master`.city_id 
WHERE `it_service_ticket`.`xetr` BETWEEN '2016-04-01 12:00:00 AM' AND '2017-02-28 12:00:00 PM' 
GROUP BY Assignedto 
ORDER BY city_name ASC;   

输出

+-------------------------+-------------------------+-------+------------+----------+------------+--------------+-----------+---------+ 
|  City_Name   |  AssigneeTo  | TC | SC  | PC  | WH  |  VH  | Feedback | Average | 
+-------------------------+-------------------------+-------+------------+----------+------------+--------------+-----------+---------+ 
| Ahmedabad    | [email protected] | 297 | 100.0000% | 0.0000% | 147.0667 | 154292.9333 | 43.4343% | 4.4031 | 

|艾哈迈达巴德| [email protected] | 297 | 100.0000%| 0.0000%| | 147.0667 | 154292.9333 | 43.4343%| 4.4031 |

回答

0
  1. 如果要舍入小数位数,请使用ROUND(yourColumn,0)函数。

    所以13.78将成为14

  2. 如果你想摆脱的小数位,用户FLOOR(yourColumn)

    所以13.78将成为13

因此,例如

SUM(TIMESTAMPDIFF(MINUTE,Request_Date, Xetr))/60 AS WH

应改为

ROUND(SUM(TIMESTAMPDIFF(MINUTE,Request_Date, Xetr))/60,0) AS WH

编辑:这将需要你的%照顾。

CONCAT(
     ROUND(count(CASE 
      WHEN STATUS = 'PENDING' THEN 1 
      ELSE NULL 
     END) * 100/count(1),0) 
     , '%') AS PC 

对所有需要删除小数位的列执行相同的操作。

+0

CONCAT(计数(CASE WHEN STATUS = '待定' THEN 1 ELSE NULL END)* 100 /计数(1)中, '%')AS PC, –

+0

在这种情况下我要显示在输出100%如何解决 –

+0

检查编辑。 – Utsav

相关问题