我有數字的表是這樣的:功能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