本系列為自己學(xué)習(xí)時(shí)的筆記及心得體會(huì)彻采,轉(zhuǎn)載請(qǐng)注明出處档插。
1沙绝、數(shù)據(jù)分組
如果要返回每個(gè)供應(yīng)商提供的產(chǎn)品數(shù)據(jù)搏明,那就需要使用分組了。
使用分組可以將數(shù)據(jù)分為多個(gè)邏輯組闪檬,對(duì)每個(gè)組進(jìn)行聚集計(jì)算星著。
select vend_id,COUNT(*) AS num_prods
FROM Products
GROUP BY vend_id
輸出如下:
注意:GROUP BY 子句必須出現(xiàn)在WHERE子句之后,ORDER BY子句之前粗悯。
2虚循、過(guò)濾分組
因?yàn)閃HERE子句只能過(guò)濾行,所以我們這里使用HAVING 來(lái)過(guò)濾分組样傍。WHERE的所有技術(shù)和選項(xiàng)都適用于HAVING横缔。
select vend_id,COUNT(*) AS num_prods
FROM Products
GROUP BY vend_id
HAVING COUNT(*)>2
對(duì)比如下語(yǔ)句,可發(fā)現(xiàn):
△WHERE是在數(shù)據(jù)分組前進(jìn)行過(guò)濾衫哥,HAVING在數(shù)據(jù)分組后進(jìn)行過(guò)濾茎刚。
select vend_id,COUNT(*) AS num_prods
FROM Products
where prod_price>=4
GROUP BY vend_id
HAVING COUNT(*)>2
3、對(duì)結(jié)果進(jìn)行排序
使用ORDER BY撤逢。如下:
4、SELECT語(yǔ)句中子句的順序
SELECT-》FROM-》WHERE-》GROUP BY-》HAVING-》ORDER BY