2017-04-19 56 views
-2
Select Rownum From dual Connect By Rownum <= '4' ; 

使用該SQL列出數字1到4跳過一些使用連接生成的數字序列由

我想列出1至4跳繩3,這樣的結果看起來像

AM
1 
2 
4 

請幫助

+1

你使用MySQL或Oracle?使用的Oracle SQL Developer 4.1.0 – jarlh

+0

爲什麼要跳過3?是否有一種邏輯可能需要擴展到超過前4個數字? –

+2

(不要標記不參與產品。) – Aleksej

回答

1
SELECT CASE WHEN LEVEL < 3 THEN LEVEL ELSE LEVEL + 1 END AS value 
FROM DUAL 
CONNECT BY LEVEL < 4; 

SELECT * 
FROM (
    SELECT LEVEL AS value 
    FROM DUAL 
    CONNECT BY LEVEL <= 4 
) 
WHERE value <> 3; 

,或者因爲它是不清楚你的順序應該如何超越4進展情況,你可以這樣做:

SELECT POWER(2, LEVEL - 1) AS value 
FROM DUAL 
CONNECT BY LEVEL <= 3;