MySQL: select * from table1 where 1=1 limit 10; SQL Server: 讀取前10條:select top (10) * from table1 where 1=1; 讀取后10條:select top (10) * from table1 order by id desc; 在SQL Server里面,如何讀取按照某個排序,第3到6這四個記錄 select top 4 * from table1 where id not in(select top 2 id from table1); oracle: 讀取前10條:select * from table1 where rownum<=10; 讀取后10條:select * from table1 where rownum<=10 order by id desc; --取出第三條到第六條數據 (效率不高) select * from (select * from table1 where rownum<=3) minus (select * from table1 where rownum<3); --或者下面這個 select * from (select * from (select rownum rn, a.* from table1 a) where rn>=3) where rn<=6; where 1=1仔細揣摩一下,在這里表示2種意思。 第一,當然它毫無疑問是一個恆等式,在這里有沒有都沒關系。不禁聯想起SQL注入的黑客手法。 第二,這里寫個1=1,它的重點是想告訴我,這里可以寫條件,比如: 格式:select * from 表名 where 列名=' ' limit 5,10; -- limit numStart, num,其中numStart默認為0,表示從第1條開始,可以省略, -- 條數下標從0開始,numStart表示從numStart+1條開始,num表示取num條 例子:select * from tb_email where toname='Jef' limit 5,10; 翻譯:表示在tb_email表中的發送人為Jef的所有數據從第6條開始取10條數據。 另外 desc是descend降序意思 asc是ascend 升序的意思 select top (10) * from table1; 默認為asc,並且默認用主鍵排序 select top (10) * from table1 order by id desc為desc; 想要加條件的話,即: select top (10) * from table1 where shijian=' ' order by id desc; 這時不禁想問,用'select * from table order by'顯示時怎么讓order by 后面同時滿足兩個條件? 答:select * from table order by shijina,paixu desc; 在實際項目中,我建議大家做一個按鈕: select case orderby case 'shijian' sql="select * from my_table order by shijian desc" case 'paixu' sql="select * from my_table order by paixu desc" case else sql="select * from my_table order by shijina,paixu desc" end select /