我有多行,每行有3列,我想做的是计算这3列在每一行,看看哪一行有最低的总和
例如:
row 1 - col1(1)+col2(3)+col3(0) = 4
row 2 - col1(50) + col2(3) + col3(4) = 57
row 3 - col1(2) + col2(0) + col3(0) = 2
所选行(第3行)将显示计算值=2
目前我只计算了1列,但现在我需要3列
我就是这么做的:
select min(Bonus) from dbo.Bonuses AS c1
我的table(奖金)
ID Bonus Double Bonus Master Bonus
1 1 3 0
2 50 3 4
3 2 0 0
预期结果:
第3行是将打印的最小值
2
3条答案
按热度按时间kninwzqo1#
您可以使用:
select min("Bonus" + "Double Bonus" + "Master Bonus") from "Bonuses";
siv3szwd2#
对于每一行,应首先获得列之间的最小值,然后从结果列中获得最小值:
xxhby3vn3#
以防万一,你应该知道
NULL
值可能会产生意外结果。更安全的计算方法是:与…有关的问题
NULL
价值观是+
退货NULL
如果有任何值NULL
. 这意味着该行中的所有值都将被忽略。问题中的样本数据没有
NULL
价值观。但它也没有明确规定这些值永远都不是NULL
所以我认为这一点很重要。