gpt4 book ai didi

sql-server - 获取大于零的最小值

转载 作者:行者123 更新时间:2023-12-02 11:51:54 25 4
gpt4 key购买 nike

我有下表:

column1   column2   column3
3 2 0
5 9 2
1 4 6

当我运行以下代码时:

SELECT
id_function = @param,
MIN(t1.column1) AS c1min,
MAX(t1.column2) AS c2max,
MIN(t1.column3) AS c3min
FROM
table1 (NOLOCK) AS t1
WHERE
t1.id = @param

我得到:

c1min   c2max   c3min
1 9 0

我的问题是 c3min 必须是大于零的最小值。我需要的结果应该是:

c1min   c2max   c3min
1 9 2

有没有什么方法可以在不使用子选择的情况下做到这一点?任何帮助将不胜感激。

谢谢!

最佳答案

我建议使用 nullif() 这样你的查询就是

SELECT id_function = @param,
MIN(t1.column1) AS c1min,
MAX(t1.column2) AS c2max,
MIN(NULLIF(t1.column3,0) AS c3min
FROM table1 (NOLOCK) AS t1
WHERE t1.id = @param

这样您就不会冒改变结果的风险,例如如果您在第 3 列中的实际最小值是 100,则之前的答案会影响您的结果,而且如果您在第 3 列中只有零,则之前的答案也会提供不正确的结果

关于sql-server - 获取大于零的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284310/

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