[英]How to remove decimal digit from result in mysql?
I want to remove digit after decimal how to solve it?我想去掉小数点后的数字怎么解决?
My query is:我的查询是:
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;
Output输出
+-------------------------+-------------------------+-------+------------+----------+------------+--------------+-----------+---------+
| City_Name | AssigneeTo | TC | SC | PC | WH | VH | Feedback | Average |
+-------------------------+-------------------------+-------+------------+----------+------------+--------------+-----------+---------+
| Ahmedabad | mahesh.patel@corp.in | 297 | 100.0000% | 0.0000% | 147.0667 | 154292.9333 | 43.4343% | 4.4031 |
| | Ahmedabad |
艾哈迈达巴德 | mahesh.patel@corp.in |
mahesh.patel@corp.in | 297 |
第297话100.0000% |
100.0000% | 0.0000% |
0.0000% | 147.0667 |
147.0667 | 154292.9333 |
154292.9333 | 43.4343% |
43.4343% | 4.4031 |
4.4031 |
If you want to round off decimal places, use ROUND(yourColumn,0)
function.如果要舍入小数位,请使用
ROUND(yourColumn,0)
函数。
So 13.78
will become 14
所以
13.78
会变成14
If you want to get rid of decimal places, user FLOOR(yourColumn)
如果你想去掉小数位,用户
FLOOR(yourColumn)
So 13.78
will become 13
所以
13.78
会变成13
So for example所以例如
SUM(TIMESTAMPDIFF(MINUTE,Request_Date, Xetr))/60 AS WH
should be changed to应该改为
ROUND(SUM(TIMESTAMPDIFF(MINUTE,Request_Date, Xetr))/60,0) AS WH
Edit: This would take care of your %
.编辑:这会照顾你的
%
。
CONCAT(
ROUND(count(CASE
WHEN STATUS = 'PENDING' THEN 1
ELSE NULL
END) * 100 / count(1),0)
, '%') AS PC
Do the same for all the columns you need to remove decimal places.对需要删除小数位的所有列执行相同操作。
例如,您应该在 Mysql 中使用 TRUNCATE()
SELECT TRUNCATE(525.668545, 3) -- 525.668
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.