背景介绍
美国大选开始了,国防部要求我对两个总统候选人的票数进行统计。我首先简单的进行一次无条件查询,了解了一下表格的结构及所有数据长什么样子。
select * from foo
查询到的结果令我很吃惊,我没有看到选票等信息,我看到了用户名以及用户的金额,还有选项。这个看起来很明显不是美国的总统选票而是外围赌谁能当总统的,以及投注金额。好吧,拿人钱财替人消灾。我就统计统计吧。接着我执行如下操作。
select sum(prize), expect, selection from foo group by expect, selection;
查询到的结果虽然按照selection
分开统计了,但是我期待的数据结构还是没有得到。我们看到的结果总是需要在最后一行看看到底是selection
是1
还是2
这个非常的烦人,我们只关心哪个阶段expect
两个候选者分别被压了多少金额。好吧继续下面的查询结果。
select sum(if(p.selection=1, p.prize, null)) sum_1, sum(if(p.selection=2, p.prize, null)) sum_2 , expect from foo p group by expect;
基本上这个符合国防部的要求了,庄家也可以快速的看到想要的结果来决定是否应该增加或者减少赔率了~~(纯属瞎编)