group by 用于分组,客串去重(结果只有一个分组的时候等于去重)
distinct 用于去重
在普通查询语句上功能差不多
如
select * from order_goods group by order_sn;
select distinct order_sn from order_goods;
但是在统计方面有点区别
group by + count
select o.order_sn,count(o.order_sn) as num from order o left join order_goods o_g on o.order_sn = o_g.order_sn where o_g.price > 1 group by o.order_sn;
结果:
[order_sn1 , 11],
[order_sn2 , 21]
distinct + count
select count(dectinct o.order_sn) as num from order o left join order_goods o_g on o.order_sn = o_g.order_sn where o_g.price > 1;
结果:
num => 32