gpt4 book ai didi

Mysql LEAST() 大于 0

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

我有一张价格表,我想在该表上创建一个价格最低的 View 。

例如,我的表格有 price1、price2 列。

我想我可以用 LEAST() 来完成

例如从价目表中选择最少的(price1,price2)

但它应该只考虑大于 0 或不为空的价格。

我可以用 LEAST() 来做吗?

感谢您的建议。

最佳答案

必须小心,因为如果任一比较器为 NULL,LEAST() 将返回 NULL。

SELECT NULLIF(LEAST(
COALESCE(NULLIF(price1,0),999999999),
COALESCE(NULLIF(price2,0),999999999)),
999999999) AS least_price
FROM pricelist

我假设价格可以为 NULL、零或大于零,但不能小于零。如果价格为零,我使用 NULLIF 将价格强制为 NULL。然后使用 COALESCE 将 NULL 强制为一个非常大的值,该值肯定大于另一个值。

使用 LEAST 比较两者。

如果两个价格最初都是 NULL 或零,则比较会返回非常大的值。这可能不是您想要的,因此请再次使用 NULLIF,使其成为 NULL。

关于Mysql LEAST() 大于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555491/

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