【mysql】group by 和 distinct

group by a group, to guest weight (results only when a packet is equal to weight)

distinct for deduplication

In the general query function almost

Such as

select * from order_goods group by order_sn;

select distinct order_sn from order_goods;

 

But a little difference in statistics

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;

result:

[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;

result:

num => 32

Published 35 original articles · won praise 18 · views 370 000 +

Guess you like

Origin blog.csdn.net/TXX_c/article/details/83994968