【发布时间】:2014-09-24 17:08:16
【问题描述】:
我创建了一个投注数据库,我正在尝试确定谁是最好的和最差的。我决定这样做的最简单方法是获取用户的奖金总和,然后减去他们下注的总金额
我的第一个 SQL 查询是
SELECT fromuser,SUM(itemsgiven::int)
FROM transactions
WHERE transtype='Bet Placed'
GROUP BY fromuser
ORDER BY 2 DESC
返回这个
fromuser sum
15228328 2689
13896406 2634
55954103 308
37460340 64
66589399 62
那么我的第二个查询是确定总奖金
SELECT touser,SUM(itemsgiven::float)
FROM transactions
WHERE transtype='Bet Won'
GROUP BY touser
ORDER BY 2 DESC
返回这个
touser sum
15228328 4387.515
55954103 152.295
13896406 120.285
66589399 71.28
37460340 56.925
我的问题是结合这些查询的最佳方式是什么,这样我就可以有两列,一列是用户 ID,另一列是他们的总赢(或输)。我查找了一些示例,但让我感到困惑的部分是,您如何确保在减去仅从同一用户 ID 中减去的两个总和时。
编辑:我正在使用 postgresql
【问题讨论】:
-
你用的是mysql还是postgres?请选择一个平台,您的答案可能取决于一个或另一个的功能。
-
我正在使用 postgresql
标签: sql postgresql