在SQL中,要获得本质上是嵌套聚合函数的完整行,可以使用子查询或者临时表的方式来实现。
SELECT *
FROM orders
WHERE order_id IN (
SELECT order_id
FROM order_details
GROUP BY order_id
HAVING AVG(price) > 100
);
在上述示例中,子查询 SELECT order_id FROM order_details GROUP BY order_id HAVING AVG(price) > 100
返回了平均销售额大于100的订单ID,然后主查询根据这些订单ID获取完整的订单信息。
CREATE TEMPORARY TABLE temp_orders AS (
SELECT order_id
FROM order_details
GROUP BY order_id
HAVING AVG(price) > 100
);
SELECT *
FROM orders
INNER JOIN temp_orders ON orders.order_id = temp_orders.order_id;
在上述示例中,首先创建了一个临时表 temp_orders
,存储了平均销售额大于100的订单ID。然后,通过将临时表与原始表进行连接,获取完整的订单信息。
需要注意的是,以上示例中的表名和字段名仅作为示例,实际应用中需要根据具体的数据库结构进行调整。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云