postgresql使用group by组数据,并且有求和的字段;
表:user_order
id | goods | money | num | price | code | createtime | userid |
1 | 商品0 | 100 | 2 | 50 | 0006 | 2020-11-25 19:00:00 | 2596 |
2 | 商品0 | 100 | 1 | 100 | 0006 | 2020-11-25 19:01:00 | 2597 |
3 | 商品0 | 1000 | 1 | 1000 | 0007 | 2020-11-25 19:01:00 | 2590 |
4 | 商品1 | 10000 | 1 | 10000 | 0009 | 2020-11-25 19:01:00 | 2500 |
查询相同code的money并求和:
select min(goods) goods,sum(money) money,sum(num) num,code where goods='商品0' group by code
注:
使用了group by之后,select 后面指定的字段必须与group by的字段一致。
group by 只是个别的字段,如果还需要取出其他未分组的字段信息就需要使用min和max取值。
将需要的字段放进max或min函数中就可以。