我正在尝试查看如何编写子查询。我有一张叫供应商的桌子。这些字段是Supplierid,名称,ordervalue和orderid。我需要编写一个查询,该查询将生成所有订单价值大于1000000的供应商超过10次的商品。
select name, count(*)
from (select orderid from supplier where ordervalue >1000000 group by
orderid)
where count(*) > 10
group by name;
答案 0 :(得分:1)
ANSI编写此查询的方式,该方式应可在大多数RDBMS中使用(至少在SQL Server和Oracle中):
SELECT name, COUNT(orderid)
FROM supplier
WHERE ordervalue > 1000000
GROUP BY name
HAVING COUNT(orderid) > 10;