-1
2つの列のそれぞれに関連付けられた場所に基づいて合計2つの列を返します。私は、このようなのようなORステートメントを使用する場合 :複数のWHERE句でSUMを計算しないSQL文
$query = "SELECT ec.ElecEnergy, ec.GasEnergy, ua.City,
SUM(ec.ElecEnergy) AS ecTotal,
SUM(ec.GasEnergy) AS gcTotal
FROM energyconsumption ec INNER JOIN
useraccount ua
ON ec.User = ua.id
WHERE ua.City ='London'
OR City ='Manchester'
OR City ='Luton'
OR City ='Newcastle'
OR City ='Birmingham'
OR City ='Blackburn'
GROUP BY ec.ElecEnergy, ec.GasEnergy, ua.City
ORDER BY ec.ID ASC";
$result = mysqli_query($conn,$query);
$r = array();
if($result->num_rows){
while($row = mysqli_fetch_array($result)){
array_push($r, array('ElecConsump' => $row['ecTotal'],'GasConsump' =>$row['gcTotal'],
'Location' => $row['City']
));
}
} echo json_encode(array('results' => $r));
をそれはちょうど私のデータベースからすべてを返します。私が望むのは、私が列挙したそれぞれの都市に基づいた列の合計です。
私が間違っていることがわかりません
ありがとうございます!
実際の金額とSUMが返されます。これにより、サーバーは値を集約しません。 'GROUP BY ua.City' – stuartd
を追加して、これが問題であるかどうか不明ですが、Citiesの接頭辞を忘れていますか? (都市と都市とシティ) –