我们可以使用以下查询在ORDERS DB2表中找到第三高的ORDER_TOTAL。
SELECT ORDER_ID, MIN(ORDER_TOTAL) FROM ORDERS ORDER BY ORDER_TOTAL DESC FETCH FIRST 3 ROWS ONLY
“仅FETCH优先3行”子句将在输出中仅给出3行,并且这3行将按降序排列。第一行在整个ORDERS表中具有最高的ORDER_TOTAL,第二行在整个ORDERS表中具有第二高的ORDER_TOTAL,依此类推。
MIN聚合函数将给出这三行中ORDER_TOTAL的最小值,这将是我们的第三高ORDER_TOTAL。
例如,如果我们在DB2中有下面的ORDERS表。
ORDER_ID | 合计订单 | 订购日期 |
Z22345 | 342 | 2020年7月29日 |
Z62998 | 543 | 2020年7月30日 |
Z56990 | 431 | 2020年12月7日 |
Z56902 | 6743 | 2020年7月29日 |
Z99781 | 443 | 2020年10月7日 |
Z56112 | 889 | 2020年7月30日 |
描述的查询将返回以下结果。
ORDER_ID | 合计订单 |
Z62998 | 543 |