我是PostgreSQL的新手并恢复了这个数据库,以便练习我的查询。它包含以下表格:
查找order_total少于line_total总和的订单数量的最佳查询是什么?
这是我的查询,但我怀疑我的号码是否准确。我觉得我做错了什么:
select COUNT(order_total) from orders
join order_lines
on orders.id = order_lines.order_id
having count(order_total) < sum(line_total)
我是否正确查询?
由于
答案 0 :(得分:1)
也许是这样的
select o.order_total,sum( l.line_total) as sum_line_total
from orders o join order_lines l on o.orders.id=l.order_id
group by o.order_total
having o.order_total < sum(l.line_total)
答案 1 :(得分:0)
答案给出了不止一个结果。我通过使用以下子查询进行了实验并得出了正确的答案:
select count(*) from orders,
(Select order_id, sum(line_total) from order_lines group by order_id) a
where order_total < a.sum and order_id = orders.id;
感谢您的回复