比方說,我有如下表:獲取的多個列的最小非零值
CREATE TABLE numbers
(
key integer NOT NULL DEFAULT 0,
number1 integer NOT NULL DEFAULT 0,
number2 integer NOT NULL DEFAULT 0,
number3 integer NOT NULL DEFAULT 0,
number4 integer NOT NULL DEFAULT 0,
CONSTRAINT pk PRIMARY KEY (key),
CONSTRAINT nonzero CHECK (key <> 0)
)
我想要檢索的所有4個數字的給定鍵的最低值,而忽視那些零。
我開始用這樣的事情時,我想,我會和零點問題:
SELECT LEAST(number1, number2, number3, number4) FROM numbers WHERE key = 1
舉例來說,如果我有元組(1, 5, 0, 3, 2)
我想回到2
,或(2, 3, 0, 0, 0)
我想返回3
等。
這可以在一個單一的查詢(或可能嵌套)完成,我真的不想寫一個過程來做到這一點。
我不明白,你說你想要最小的非零值,但是在你的兩個例子中,你似乎與此矛盾。 – Eluvatar
@Eluvatar:第一個數字是他例子中的'鍵'。 –