MySQL データベースの各従業員から合計アクションを取得しようとしています。私のスクリプトは、データベース内のすべての従業員の数よりも大幅に少ない合計を示しています。クエリで SUM 関数を使用しています。クエリは phpmyadmin では正常に機能しますが、私のスクリプトでは機能しません。なぜこれが起こっているのかについてのアイデア。
$query = "SELECT user_id, SUM(num_actions) as action FROM pro_actions GROUP BY user_id ORDER BY action DESC";
if ($result = $db->query($query)) {
$count = 0; // this is the total of all employee actions. which adds up correctly!
while ($row = mysqli_fetch_array($result)) {
$count += $row['action'];
echo '<tr><td>';
echo $row['user_id'];
echo '</td><td>';
echo $row['action'];
echo '</td></tr>';
}
$result->free();
}
このスクリプトを実行すると、従業員 1005 には 63 のアクションがあります。ただし、phpmyadmin でこのクエリを実行すると、従業員 1005 には 194 のアクションがあります (これは正しいです)。スクリプトの出力では、すべての従業員のアクションが少なくなります。興味深いことに、$count 変数は、すべてのアクションの合計である正しい量を出力するということです...このグリッチを助けてください。