我需要编写sql查询,以按价格将产品划分为3个相等的组(最便宜的产品将在第一组中)。对于每个组,我必须提供其包含的价格范围和平均库存量。
我尝试使用ntile但被卡住了:
SELECT UnitPrice, NTILE(3) OVER (
ORDER BY UnitPrice ASC
) AS productGroup, UnitsInStock
FROM Products
答案 0 :(得分:0)
您需要在此查询之上添加一个查询。像这样:-
select productGroup, min(UnitPrice), max(UnitPrice), avg(UnitPrice)
from (
SELECT UnitPrice, NTILE(3) OVER (ORDER BY UnitPrice ASC) AS productGroup
, UnitsInStock
FROM Products
) t1
group by productGroup