如何编写SQL查询获取包含1个以上价格高于10的产品的商品类别
查询包含超过1个价格高于10的产品的商品类别
需求说明
需要从Product表中筛选出包含超过1个价格高于10的产品的商品类别。表结构如下:
NAME VARCHAR2(256) NOT NULL, CATEGORIE VARCHAR2(64) NOT NULL PRICE NUMBER(9,2) NOT NULL
解决方案SQL
SELECT CATEGORIE FROM Product WHERE PRICE > 10 GROUP BY CATEGORIE HAVING COUNT(*) > 1;
语句解释
WHERE PRICE > 10:先过滤出所有单价高于10的产品,缩小统计范围GROUP BY CATEGORIE:将过滤后的产品按商品类别分组HAVING COUNT(*) > 1:筛选出分组后产品数量超过1的类别,这就是我们要找的目标类别
示例验证
针对给定的示例数据:
NAME CATEGORIE PRICE BREAD BAKERY 3.00 CHEESE BAKERY 25.00 MEAT BUTCHERY 23.00 PORK BUTCHERY 41.00 SOAP CLEANING 15.00
过滤后价格高于10的产品有4个,分组统计后:
- BAKERY:1个
- BUTCHERY:2个
- CLEANING:1个
最终查询仅返回BUTCHERY,符合预期结果。
内容的提问来源于stack exchange,提问作者Kyle
相关产品推荐
相关产品推荐

