我的代码如下工作正常
$sql = "SELECT Type, dt, SUM(Amount) AS Total FROM Expense GROUP BY Type";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>Type</th><th>Amount</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "</td><td>".$row["Type"]."</td><td>". round($row[Total],2)."</td></tr>";
}
} else {
echo "0 results";
}
但我在其中添加了“ 2020-01-23”和“ 2020-03-01”之间的位置,如下所示,结果为0。请帮助解决此问题。
<?php
$sql = "SELECT Type, dt, SUM(Amount) AS Total FROM Expense GROUP BY Type WHERE dt BETWEEN '2020-01-23' AND '2020-03-01' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>Type</th><th>Amount</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "</td><td>".$row["Type"]."</td><td>". round($row[Total], 2)."</td></tr>";
}
} else {
echo "0 results";
}
您的group by子句在错误的位置,请参见下文,它必须遵循where子句