代码:
select * from steriworkrecord
where starttime between '2013-11-1' and '2013-12-31'
比如我现在要着结果里面第2条到第10条的数据 要怎么写
-- 用的啥数据库也不写清楚。。。
-- MS sql server2005以上,ORACLE
-- 【注意( order by starttime asc)是你排序的方式asc升序,desc降序】
========================================================
-- ORACLE还可以
select * from (==========================================================
-- MYSQL,postgreSQL似乎只能标量子查询
SELECT *FROM (-- 【注意b.ID<= a.ID 其中ID换成你的主键名称】
-- 代码都忙你实际测试了ok
用的SQL2005 能解释下你发的第一个 代码的意思吗
追答最外面括号中利用row_number() over查询序号并将列命名为rownum,再加上*,这样就组成了一个带有rownum序号字段的新的数据表(和你之前的一样只是前面多了个rownum),然后将这个新表命名为a表,在a表中条件是查询序号2~10,这样就得到了你的结果。
简单说,加上rownum为序号的查询返回一个新的带有序号的新表,然后在新表中查询2~10行既可