84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
表中数据是用户的消费积分纪录,有获取增加的,有消费减少的,我要统计某个用户的现有积分,sum怎么实现呢?不用原声sql。
业精于勤,荒于嬉;行成于思,毁于随。
肯定要有一个字段是用来记录是增加还是减少吧?要不然你怎么知道是增加积分还是减少呢?假如type字段0代表减少,1代表增加,那么
M('points')->where('type=1')->sum();
如果是两个字段add_score和reduce_score的话就两个sum再相减,如果是一个的话肯定有正有负,直接sum啊
如果是表中有字段名来判断是增加的还是减少的,那就用where把属于该用户的,并且是增加的sum(),再用一次where把属于该用户的并且是减少的sum(),之后相减就可以了。如果是没有字段来判断是增加还是减少的,而是用本身积分消费的数字前面加上正负存储的话,那就直接where属于该用户的记录然后sum就可以
肯定要有一个字段是用来记录是增加还是减少吧?要不然你怎么知道是增加积分还是减少呢?
假如type字段0代表减少,1代表增加,那么
M('points')->where('type=1')->sum();
如果是两个字段add_score和reduce_score的话就两个sum再相减,如果是一个的话肯定有正有负,直接sum啊
如果是表中有字段名来判断是增加的还是减少的,那就用where把属于该用户的,并且是增加的sum(),再用一次where把属于该用户的并且是减少的sum(),之后相减就可以了。
如果是没有字段来判断是增加还是减少的,而是用本身积分消费的数字前面加上正负存储的话,那就直接where属于该用户的记录然后sum就可以