Products数据总览:
数据分组需要用到GROUP BY和HAVING两个子句。
如果返回一个供应商DLL01提供的产品数目,代码是这样写的
SELECT COUNT(*) AS num_prods
FROM products
WHERE vend_id = 'DLL01';
如果要返回每个供应商提供的产品数目,代码如下
SELECT vend_id, COUNT(*) AS num_prods
FROM products
GROUP BY vend_id;
如果是需要返回提供产品数目大于等于3的供应商,就需要在GROUP BY 后面加上 HAVING 子句。代码如下
SELECT vend_id, COUNT(*) AS num_prods
FROM products
GROUP BY vend_id
HAVING COUNT(*) >=3;
如果是返回具有3个以上(价格大于等于4的产品)的供应商,代码如下
SELECT vend_id, COUNT(*) AS num_prods
FROM products
WHERE prod_price >= 4
GROUP BY vend_id
HAVING COUNT(*) >=3;