查詢表中第N條資料

2021-04-13 00:28:16 字數 498 閱讀 8708

如果表中的id是按順序排的那很簡單,相信大家都知道怎麼寫。

現在問題是表中的id有些已經被刪除了,並不連貫,所以要查詢第n條資料就有些麻煩,習慣的sql寫法是這樣:

select top 1 * from

(select top n * from testexam order by id desc

) a  

應該是簡潔明瞭的寫法,效率應該也很高,今天發現了另外一種寫法,感覺也挺好的

select * from

( select *,

(select count(*) from testexam where id< w.id) as c

from testexam as w 

) as a

where c=n

中間這一段select count(*) from testexam where id< w.id比較妙,它其實是給表新增了一列c並從0開始重新排序,這樣表就變成按順序排列,查詢就很方便了

mysql 查詢分組裡的第n條資料,前n條資料

select uname,salary,address,new rank from select uname,salary,address,如果臨時變數等於 address,就 1,否則從1開始 if tmpaddress address,rank rank 1 rank 1 as new rank...

mysql查詢第n到第m條資料

mysql如何指定查詢一張表的查詢結果,如最後5行記錄和最前5行記錄 我們以student表為例,裡面有三個字段 id,name,age,其中id為主健,為自增,裡面共有10條記錄,如下所示。mysql select from student id name age 1 li 11 2 zh 12 ...

mysql隨機查詢n條資料

遇到乙個業務需求是隨機查詢n條資料,一開始使用這種寫法 select from table order by rand limit n後來發現這種寫法的查詢效率極低,並且官方也不推薦使用。又經過查詢發現網上很多教程更靠譜的寫法如下 select from table as t1 join selec...