你这个情况多半是有几条记录的time值相同了造成的。如果你只想显示五条记录的,应该用子查询来保证最后的数字是五条。语句如下:
select top 5 from (select top 5 from news order by [time] desc)
SQL Server查询前N条记录:
因为id可能不是连续的,所以不能用取得10<id<20的记录的方法。
有三种方法可以实现:
一、搜索前20条记录,指定不包括前10条
语句:
select top 20 from tbl where id not in (select top 10 id from tbl)
二、搜索记录生成临时表,建立临时表的自增id。通过取得自增id的10<id<20的记录的方法取得所需数据
语句:
select identity(int,1,1) as id, into #temp from tbl;
select from #temp where id between 10 and 20
第二个方法实际上是两条语句,但你可以让他连续执行,就像一条语句一样完成任务。
三、如果觉得第一种方法效率太低,经过讨论,得出第三种方法:
语句:
SELECT TOP 10 FROM (SELECT TOP 20 FROM tblORDER BY id) as tbl2 ORDER BY tbl2id DESC
oracle中查询前8条记录需要用rownum
如emp表中有如下数据:
现要查询此表中前8条记录,可用如下语句:
select from emp where rownum<=8;查询结果:
以上就是关于Access数据库中查询前5条数据为什么每次显示6条 top 4,5,6都是一样的结果 这是为什么全部的内容,包括:Access数据库中查询前5条数据为什么每次显示6条 top 4,5,6都是一样的结果 这是为什么、查询数据库中的前10条记录、在oracle数据库中需要查询出前8条记录的sql语句怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)