2017-04-19 23 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;