gpt4 book ai didi

mysql - 如何随机选择行总价格小于 500 且大于 450 的行?

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

表订单:

id          month          price
--------------------------------------
1 12 74.00
2 11 27.00
3 12 35.00
4 12 85.00
5 12 38.00
6 04 45.00
7 03 27.00
8 12 23.00
9 12 45.00
10 03 36.00
11 12 67.00
12 06 45.00
13 12 23.00
14 12 35.00

如何从月份 = 12 且所选行总和小于 150 且大于 100 的订单中选择随机行?

或者总和最大为 150...

期望的结果之一(总和 147.00):

id          month          price
--------------------------------------
1 12 74.00
5 12 38.00
14 12 35.00

其他所需结果的示例(总和 131.00):

id          month          price
--------------------------------------
3 12 35.00
5 12 38.00
8 12 23.00
14 12 35.00

我尝试过类似的方法,但没有成功:

SELECT id,month,price,SUM(price) 
FROM orders
WHERE month = '12' AND SUM(price) < 150 AND SUM(price) > 100
ORDER BY rand()

请帮助我

最佳答案

这是一个复杂的问题。您需要对随机行进行累积和,然后选择任意值。

这将使您的限制小于 150:

SELECT o.*
FROM (SELECT o.*, @cumep := (@cum3p + price) as cumep
FROM orders o CROSS JOIN (SELECT @cumep := 0) params
WHERE month = 12
ORDER BY rand()
) o
WHERE cumep < 150;

关于mysql - 如何随机选择行总价格小于 500 且大于 450 的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601804/

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