gpt4 book ai didi

mysql - 如何结合左连接和减法?

转载 作者:行者123 更新时间:2023-11-29 12:15:29 24 4
gpt4 key购买 nike

第一个表“Positions”包含有关商品、可用数量和价格的信息。

当有人想要购买某件商品时,系统会找到该商品价格最低的位置,并为其创建一段时间的储备。

职位:

id item amount price seller
1 1 1 4 1
2 1 2 5 2

储备:

id position created_at 
1 1 1430060037

如果另一个客户想要购买相同的商品,则只有第二个位置可供他使用,因为第一个位置只有一个商品(数量),并且该商品已被提前预订。但如果 R​​eserve#1 已过期,客户可以从第一个位置以该价格购买商品。

更新:

职位:

id  item amount price
1 1 2 4
2 1 2 5
3 1 2 6

储备:

id  position  created_at
1 1 1430060037
1 1 1430060038

在本例中,我想获取位置#2 和价格#5,因为位置#1 中的所有项目都被保留。

最佳答案

你的问题不清楚,但我认为你想要这样的东西:

SELECT
`positions`.`amount`,
MIN(`price`) AS `min_price`,
COUNT(`reserves`.`id`) AS `reserve_count`
FROM `positions`
LEFT JOIN `reserves` on `positions`.`id` = `reserves`.`position`
WHERE `positions`.`item` = 1234 -- specify the item here
AND `created_at` >= NOW() - INTERVAL 60 SECOND
GROUP BY `reserves`.`position`
HAVING `reserve_count` != `amount`

关于mysql - 如何结合左连接和减法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com