查詢表中連續的某幾條記錄

2021-04-02 17:56:06 字數 1061 閱讀 4091

不要傳任何列的條件引數,查詢表中連續的某幾條記錄

如:表a,id列為主鍵

id   name   ***   age

-------------------------

1    luoyi  male   21

2    yaya   female 20

3    lili   female 22

4    wuyong male   25

.......................

這個表的記錄還有很多,如果我想取第

二、第三條記錄,不為別的,我就想要這兩條,這不僅在程式設計中會用到,而且在一些公司面試時也有類似考題(呵呵,我沒有遇到過),在oracle和mssqlserver中sql**分別為:

一、oracle

在oracle中不能用top關鍵字,而用rownum,有兩種方法可以實現

1.(select * from a where rownum <= 4) minus (select * from a where rownum <= 1)

這樣就得到了

二、三兩條記錄了。minus 關鍵字的意思是求兩個結果集的差集,在數學中有這個概念,比如說兩個集合可以合併、公有、差集.

2. select * from (select * from a where rownum < 4) b where b.id not in(select id from a where rownum <2)  這句**也可以實。主要運用了not in運算子

二、ms sql server

在server中沒有minus,只能用類似於oracle的第二種方法

select * from (select top 3 * from a) as b where b.id not in(select top 1 id from a)

三、繪製出來的結果為:

id     name    ***    age

--------------------------------

2      yaya   female  20

3      lili   female  22

如何查詢oracle表的前幾條記錄

由於專案需要,需要查詢 oracle 表中的前幾條記錄,oralcle 由一個rownum 可以直接用這個來得到需要的記錄數,但是一開始我用的 sql是 select from table where rownum 你要查的記錄條數,雖然能夠取出前幾條記錄,但是我發現如果要把排序後記錄取前幾條結果就...

查詢前幾條記錄SQL在不同資料庫中的用法

查詢前幾條記錄sql在不同資料庫中的用法 1.oracle select from table1 where rownum n 2.informix select first n from table1 3.db2 select row number over order by col1 desc ...

查詢前幾條記錄SQL在不同資料庫中的用法

查詢前幾條記錄sql在不同資料庫中的用法 1.oracle select from table1 whererownum n 2.informix selectfirstn from table1 3.db2 select row number over order by col1 desc as ...

轉 查詢前幾條記錄SQL在不同資料庫中的用法

查詢前幾條記錄sql在不同資料庫中的用法 1.oracle select from table1 where rownum n 2.informix select first n from table1 3.db2 select row number over order by col1 desc ...

SQL提取表中某列字元長度為2的所有記錄

有一個表wb,包含兩列character和wb 表中資料截圖如下 從圖中可以看出wb列的各行資料的長度是不一樣的,現在我想把wb列中長度為二,即只有兩個字元的所有記錄 給提取出來,我們該如何寫sql語句呢?剛開始我也是楞了一下,心想好像沒有那個函式可以計算x行y列中資料的長度吧?幸好我想起了sql中...