groupby是什么函数groupby与where,having以及顺序
1. GROUP BY⼦句必须出现在WHERE⼦句之后,ORDER BY⼦句之前. HAVING语句必须在ORDER BY⼦句之后。(where先执⾏,再groupby分组;groupby先分组,having在执⾏。)
2. 除聚集计算语句外,SELECT语句中的每个列都必须在GROUP BY⼦
句中给出。count()为聚集函数,vend_id在后⾯groupby中有,所以select后⾯有。
select vend_id, count(*) , sales  from products group by vend_id;
这个语句,其中sales字段,在group by中没有,所以查询的结果,sales的值是错误的(切记)
如果想⽤分组后的,sales的字段,可以采⽤left join的⽅式,相当于两个表匹配的⽅式,查询:(原始表B)
select vend_id, sales from B left join (select vend_id, count(*) nums, min(sales) sales  from products group by vend_id)as A on B.vend_id = A.vend_
3. 语句顺序
摘⾃:MYSQL必知必会

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。