gpt4 book ai didi

mysql - 返回不同列中具有特定值的所有行

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

我有一个看起来像这样的表格

Time            Master_Price    Discounted_price1   Discounted_qty1 Discounted_price2   Discounted_qty2 Discounted_price3   Discounted_qty3
1552279758 100 90 5 80 10 70 15
1552279759 200 195 6 185 7 80 12
1552279760 300 285 11 200 9 150 7
1552279761 400 300 20 250 25 220 30
1552279763 500 400 30 350 5 300 8
1552279766 500 400 NULL 350 9 300 9

时间列是唯一的,采用unix格式。

要求是对Master_Price列进行算术运算,检查哪个折扣价格与之匹配,并返回相应的折扣数量。

假设如果 Master_Price 为 100 并且我输入 Master_Price - 20,则应返回值 12(出现在第二行中)或整行。如果 Master_Price 为 200 并且我输入 Master_Price - 50,则应返回值 7(出现在第三行中)或整行,依此类推。如果 Master_Price 是 500 并且我输入 Master_Price - 100 那么它应该返回 30 或整行,但不返回具有 NULL 的行

输入要从 Master_Price 中减去的整数的选项应位于查询中。即使是硬编码也没关系

最佳答案

请参阅上面的评论,但我认为这个查询应该有效:

(如果找不到任何内容,则不会获取整行。)

select @MP := 500;
select @DISCOUNT := 100;
select
CASE
WHEN Discounted_price1 = Master_Price - @DISCOUNT THEN Discounted_qty1
WHEN Discounted_price2 = Master_Price - @DISCOUNT THEN Discounted_qty2
WHEN Discounted_price3 = Master_Price - @DISCOUNT THEN Discounted_qty3
ELSE 'None'
END as qty
from prices where Master_Price = @MP and ((Discounted_price1 = Master_Price - @DISCOUNT and Discounted_qty1 >=0) or (Discounted_price2 = Master_Price - @DISCOUNT and Discounted_qty2 >=0) or (Discounted_price3 = Master_Price - @DISCOUNT and Discounted_qty3 >=0));

我做了一个 fiddle 来演示/玩它。 http://sqlfiddle.com/#!9/0166cc/16

关于mysql - 返回不同列中具有特定值的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55122646/

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