Burner918 Asked: 2023-09-01 03:38:41 +0800 CST2023-09-01 03:38:41 +0800 CST 2023-09-01 03:38:41 +0800 CST 如何将 WHERE 子句与 GROUP BY 一起使用 772 我正在学习 SQL,所以如果这是一个太基本的问题,我深表歉意。在 GROUP BY 字段之后,我似乎无法弄清楚如何使用 WHERE 子句。 例如,如何使用 WHERE 子句过滤结果以仅查看订单数大于 100 的国家/地区? 谢谢 where 2 个回答 Voted Best Answer J.D. 2023-09-01T05:54:47+08:002023-09-01T05:54:47+08:00 当您想在分组(子句)结果后按聚合字段进行过滤时,可以使用GROUP BY一个名为 的关键字。HAVING该HAVING子句在子句之后指定GROUP BY。 例如: SELECT orders.billing_country AS 'Country', count(orders.billing_country) AS 'Order count's FROM orders GROUP BY orders.billing_country HAVING count(orders.billing_country) > 100; 该WHERE子句只能在聚合之前对列使用,这就是在这种情况下不能使用它的原因。WHERE如果您将查询包装在 CTE 或子查询中,或者将结果暂存在临时表中,则可以在第二步中使用子句。HAVING但是,当逻辑上在一个步骤中完成您所要求的操作时,这里不需要这样的额外步骤。 Rohit Gupta 2023-09-01T05:10:29+08:002023-09-01T05:10:29+08:00 该条款是 where orders.Order_count > 100 它就在group by
当您想在分组(子句)结果后按聚合字段进行过滤时,可以使用
GROUP BY
一个名为 的关键字。HAVING
该HAVING
子句在子句之后指定GROUP BY
。例如:
该
WHERE
子句只能在聚合之前对列使用,这就是在这种情况下不能使用它的原因。WHERE
如果您将查询包装在 CTE 或子查询中,或者将结果暂存在临时表中,则可以在第二步中使用子句。HAVING
但是,当逻辑上在一个步骤中完成您所要求的操作时,这里不需要这样的额外步骤。该条款是
它就在
group by