如果列A的值对于列B的最大值为空,则获取列B的第二个最大值

时间:2019-10-16 19:39:20

标签: sql sql-server-2008

case 1
Table AB
column A    column B
1               4
2               5
3               6

case 2
Table AB
column A    column B
1               4
2               5
NULL            6

对于情况1,我需要值为6,我将从AB中选择max(columnB)。 对于情况2,我需要值为5,因为max(columnB)为6在columnA中具有NULL值,所以我想要columnB的第二大值为5,并且它对应的columnA值不为null。只有columnB的最大值才会在columnA中具有NULL值。

1 个答案:

答案 0 :(得分:0)

在两种情况下都将返回预期结果:

select max(columnB) from tableAB where columnA is not null

查询短语为:获得columnB的最大值,其中columnA不为空。