如何使用mysql计算银行表的运行余额

时间:2013-09-18 13:24:41

标签: mysql

我有一个小的支票簿应用程序即时工作,我需要一些帮助当前的余额生成。 这是表:

╔═══╦════════════╦═════════════╦════════════╗
║id ║ userid     ║ credit      ║ debit      ║
╠═══╬════════════╬═════════════╬════════════╣
║ 1 ║     1      ║    100      ║     0      ║
║ 2 ║     1      ║     0       ║    20      ║
║ 3 ║     2      ║    100      ║     0      ║
║ 4 ║     2      ║     0       ║    30      ║
║ 5 ║     2      ║     0       ║    10      ║
╚═══╩════════════╩═════════════╩════════════╝

基本上我需要运行一个mysql语句来计算任何给定用户ID的余额。

上面使用的示例,userid 1应返回80的余额,userid 2应返回60。 查询只需要能够一次计算单个用户标识的余额。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

SELECT userid, (sum(credit)-sum(debit)) as balance 
  FROM table_name 
  GROUP BY userid;

使用以上查询。

答案 1 :(得分:1)

你可以使用,

SELECT userid, SUM(credit)-SUM(debit) FROM balance GROUP BY userid

SQLFiddle here