从列中的所有值中减去最小值

3 sql

是否有另一种方法可以从列的所有值中减去最小值,从而有效地抵消了这些值?

对于更复杂的查询,我找到的唯一方法变得非常复杂.

CREATE TABLE offsettest(value NUMBER);
INSERT INTO offsettest VALUES(100);
INSERT INTO offsettest VALUES(200);
INSERT INTO offsettest VALUES(300);
INSERT INTO offsettest VALUES(400);

SELECT value - (SELECT MIN(value) FROM offsettest) FROM offsettest;

DROP TABLE offsettest;
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想将它限制为单个查询(没有存储过程,变量等),并且首选标准SQL(尽管我使用的是Oracle).

lin*_*159 6

我认为这适用于ANSI 1999.

SELECT value - MIN(value) OVER() FROM offsettest;