请问大家一个关于SQL语句的问题。(100)

  • 主题发起人 主题发起人 fxh7622
  • 开始时间 开始时间
F

fxh7622

Unregistered / Unconfirmed
GUEST, unregistred user!
我想将一张表中的数据分段读取(第一次读取1行-1000行 第二次读取 1001行-2000行)。在MYSQL下我知道可以使用limit就可以。可是在SQL SERVER下如何写这个SQL语句呢??
 
呵呵~分页可以使用定位串处理!
 
第一个比较简单 select top1000 * from table 第二个,假设table的主键为bhselect top1000 * from table where bh not in (select top2000 * from table)
 
mysql 的 limit 在sql2K 内就是 top的含义但是似乎做不到第二次读取的吧你可以把数据集插入到一个临时表,临时表里面多1列自增长ID,这样就类似于Orlace的rownum 这样就能实现第二第三次读取。 以上是纯数据库的这块如果你页面显示的话,应该.net有集成的控件的,找找看
 
你既然是想分页,那肯定是得有一个可以排序的字段,假定这个字段是SID,那么前一千行:Select Top 1000 * Form Table Order By SID Asc第一千到二千行:Select Top 1000 * From (Select Top 2000 * From Table Order By SID Asc) sOrder By SID Desc第二千到三千行:Select Top 1000 * From (Select Top 3000 * From Table Order By SID Asc) sOrder By SID Desc...
 
假定每页的行数为 PCount, 想查询第 N 页的数据,则可以写成:Select Top PCount *From (Select Top (PCount * N) * From Table Order By SID Asc) sOrder By SID Desc
 
后退
顶部