如何从购买价格中计算商品?

时间:2018-11-28 16:11:25

标签: mysql sql database mysql-workbench

我一直在尝试编写mysql查询。要求是计算whitered项目的数量,我可以以总价$ 20的价格购买这些项目。这是我尝试的查询:

SELECT colour, purchasePrice
FROM `product`

它返回此结果link。 但是,我想计算在$ 20美元的价格中有多少whitered物品。例如,假设我的预算为20美元,而每个项目的成本为2.00美元。因此,我知道我只能购买其中的10个。 我希望这很容易理解。

1 个答案:

答案 0 :(得分:1)

对于MySQL 8.0及更高版本,有一些Window函数可以为允许的颜色创建累积价格:

select count(*) -- counts the number of items
from
(
select sum(p1.purchasePrice) over (order by p1.purchasePrice asc) as c_price -- Our cumulative price
from product p1
where colour in ('white', 'red') -- limit the colours
) x2
where  x2.c_price <= 20 -- where the cumulative is less than the budget

编辑: 看来您正在寻找可以购买的每种商品的数量,而不是列表中的数量:

select colour, purchasePrice,
       floor(20/purchasePrice) as qty_for_20 -- floor rounds the number down
from products
where colour in ('white', 'red')