php - 显示适当的余额金额,按降序显示 MySQL 行

标签 php mysql

我有一个查询应该显示存款、取款和余额。我将存款和取款相加以获得余额。

ORDER BY日期ASC时,查询和显示工作正常。

但是,我希望通过 DESC 订购,这会导致余额显示出现问题。这是一个例子。

Date   Deposit   Withdrawl   Balance
Jan 2            $2000       -$2000
Jan 1  $5000                 $3000

如您所见,我希望 1 月 1 日的余额为 5000,1 月 2 日的余额为 3000。我一直在寻找解决此问题的好方法。首先,我只是创建了一个余额列,并在写入行时插入余额。但是,当更新单行时,这会导致问题。

任何帮助表示赞赏!谢谢。

这是我正在使用的代码。

$result2 = mysql_query("SELECT * FROM bankaccount_transaction WHERE bankaccount_id = '$id' ORDER BY ID DESC ".$pages->get_limit()) or die(mysql_error());

while($row2 = mysql_fetch_array($result2)) {
$date = date('m-d-Y', strtotime($row2['date']));

if ($row2['deposit'] > 0){
$deposit = $row2['deposit'];
$newdeposit = number_format($deposit,2);
$newtotal += $deposit;
}else{
$newdeposit = '';
}

if ($row2['withdrawl'] > 0){
$withdrawl = $row2['withdrawl'];
$newwithdrawl = number_format($withdrawl,2);
$newtotal -= $withdrawl;
}else{
$newwithdrawl = '';
}

display table

}

最佳答案

SELECT x.*
     , SUM(y.deposit)-SUM(y.withdrawal) Balance 
  FROM transactions x 
  JOIN transactions y 
    ON y.bankaccount_id = x.bankaccount_id
   AND y.date <= x.date
 WHERE x.bankaccount_id='$id' 
 GROUP 
    BY x.date 
 ORDER 
    BY Date DESC;

这是一个fiddle

关于php - 显示适当的余额金额,按降序显示 MySQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522087/

相关文章:

php - 删除带有 like 的查询并连接

php - 与 PHP 和 MySQL 建立一对多关系的分页

php - 将数组分解为键->值数组

php - 集成 WorldPay HTML 重定向时 MC_callback 不重定向

java - 如何从netbeans中的jList中选择项目名称?

php - 动态 PHP 数组结构

mysql - 一起使用 DISTINCT 和 COUNT

mysql - SQL查询有不同的结果

php - WordPress PHP功能文件中的Google Analytics(分析)代码404错误跟踪

php - MYSQL 当 mysql_fetch_assoc =1 时不返回