SQL 在查询结果中选取某一条数据 怎么实现

2024-11-15 05:53:59
推荐回答(1个)
回答1:

-- 用的啥数据库也不写清楚。。。


-- MS sql server2005以上,ORACLE

select * from (
                select row_number() over (  order by starttime asc) as rownum,* from steriworkrecord                        where starttime  between '2013-11-1' and '2013-12-31'
               )  a
where rownum between 2 and 10

-- 【注意( order by starttime asc)是你排序的方式asc升序,desc降序】

========================================================

-- ORACLE还可以

select * from (
                select rownum as n,* from steriworkrecord  
                where starttime  between '2013-11-1' and '2013-12-31'
                )  a
where a.n between 2 and 10

==========================================================

-- MYSQL,postgreSQL似乎只能标量子查询

SELECT *FROM (
            SELECT a.*,(
                    SELECT count(*)  FROM steriworkrecordb    WHERE b.ID<= a.ID) AS n 
                    from steriworkrecorda
              ) ts
where ts.n between 2 and 10


-- 【注意b.ID<= a.ID  其中ID换成你的主键名称】

-- 代码都忙你实际测试了ok