我有数字的表是这样的:功能SQL SUM查询
______________________________________
| axle_id | train_id | axle | distance |
|_________|__________|______|__________|
| 1 | 1 | 1 | 20 |
| 2 | 1 | 2 | 50 |
| 3 | 1 | 3 | 200 |
| 4 | 1 | 4 | 50 |
| 5 | 1 | 5 | 200 |
| 6 | 1 | 6 | 50 |
| 7 | 1 | 7 | 200 |
| 8 | 1 | 8 | 50 |
|_________|__________|______|__________|
现在我想指望他们,并与SUM计算。 的代码,我现在:
function count_axles($id) {
$sql = "SELECT sum(distance)/(25000)*(100) as totaldistance from axle WHERE train_id = :train_id";
$sth = $this->pdo->prepare($sql);
$sth->bindParam(":train_id", $id, PDO::PARAM_STR);
$sth->execute();
return $sth->fetchAll();
}
而且我通过调用这个函数:
<?php
$count_axle = $database->count_axles($_GET['train_id']);
?>
<?php
foreach($count_axle as $counting){
}
echo $counting['totaldistance'];
?>
现在的输出是正确的。
(3.2800000000000002)这是25.000
的百分比,但我想补充5000,如:
$sql = "SELECT sum(distance)+(5000)/(25000)*(100) as totaldistance from axle WHERE train_id = :train_id";
但是,当我这样做,输出随机生成类似:
为什么要这样做,我该如何解决这个问题?
可能会被整数分割。 – duffymo
尝试将'(sum(distance)+(5000))'代替。 – yergo
作品!谢谢:) – Mitch