2

我正在开发一个小型支票簿应用程序,我需要一些有关当前余额生成的帮助。这是表格:

╔═══╦════════════╦═════════════╦══════════════
║id ║ userid ║ 贷方 ║ 借方 ║
╠═══╬════════════╬═════════════╬════════⣕╕
║ 1 ║ 1 ║ 100 ║ 0 ║
║ 2 ║ 1 ║ 0 ║ 20 ║
║ 3 ║ 2 ║ 100 ║ 0 ║
║ 4 ║ 2 ║ 0 ║ 30 ║
║ 5 ║ 2 ║ 0 ║ 10 ║
╚═══╩════════════╩════════════════════════════

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

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

任何帮助将不胜感激

4

2 回答 2

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

使用上面的查询。

于 2013-09-18T13:28:27.320 回答
1

您可以使用,

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

SQLFiddle在这里

于 2013-09-18T13:30:31.990 回答