首先展示一下我需要处理的表~
我首先想到的是根据freeze_status的不同状态分组查询,分别得到两种状态写的冻结积分(integral_frozen)总和,然后再通过union 连接两个不同的查询语句,sql语句如下:
select user_id, SUM(integral_frozen),freeze_status from ws_user_account where freeze_status=0 GROUP BY user_id
UNION ALL
select user_id, SUM(integral_frozen),freeze_status from ws_user_account where freeze_status=1 GROUP BY user_id
通过UNION 可以查到我想要的数据即查询freeze_status为不同状态下不同用户积分冻结以及解冻情况,但是,由于我要在页面进行显示,所以同一个用户的freeze_status为不同状态下的积分总和【即SUM(integral_frozen)】应该分别展示在同一条记录里面,故而下面的结果肯定是不可取的。
通过使用distinct去重相同的user_id,然后分别查出冻结金额总和【即freeze_status=1时SUM(integral_frozen)】和解冻金额总和【即freeze_status