【mysql】group by 和 distinct

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

发布了35 篇原创文章 · 获赞 18 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/TXX_c/article/details/83994968