0

这是我的查询

$sum = "SELECT htno, 
SUM(tm) AS tech, 
SUM(tm)/7.5 AS divi, 
SUM(credits) AS cred , 
SUM(CASE WHEN credits <= 0 THEN 1 ELSE 0 END) AS log,
SUM(CASE WHEN credits > 0 THEN 1 ELSE 0 END) AS pass, 
SUM(CASE WHEN em >= 0 THEN 1 ELSE 0 END) AS atm, 
SUM(CASE WHEN em >= -2 THEN 1 ELSE 0 END) AS tot
FROM jbit WHERE htno='$id'";

在第 3 行 'SUM(tm)/7.5 As divi' 查询输出为 79.2544555555 但我希望输出为 79.25

帮帮我的朋友

4

2 回答 2

1

你需要 MySQL 的FORMAT()

将数字 X 格式化为类似 '#,###,###.##' 的格式,四舍五入到 D 位小数,并将结果作为字符串返回。

所以你的查询变成:

$sum = "SELECT htno, 
SUM(tm) AS tech, 
FORMAT(SUM(tm)/7.5, 2) AS divi, 
SUM(credits) AS cred , 
SUM(CASE WHEN credits <= 0 THEN 1 ELSE 0 END) AS log,
SUM(CASE WHEN credits > 0 THEN 1 ELSE 0 END) AS pass, 
SUM(CASE WHEN em >= 0 THEN 1 ELSE 0 END) AS atm, 
SUM(CASE WHEN em >= -2 THEN 1 ELSE 0 END) AS tot
FROM jbit WHERE htno='$id'";
于 2012-09-22T15:28:19.950 回答
1

您可以使用 TRUNCATE() :

TRUNCATE(SUM(tm)/7.5 , 2) AS divi,

Truncate 会给你 '1.25' for '1.259' ,如果你想要它圆形它然后使用:

ROUND(SUM(tm)/7.5 , 2) AS divi,

这会给你 '1.26' for '1.259'

于 2012-09-22T15:29:57.297 回答