解决方案 »

  1.   

    这样写:
    $sql = '你的sql查询指令';
    $start = 1; //起始偏移
    $pagesize = 20; //每页行数
    $sqls =<<< SQL
    SELECT * FROM 
    (
    SELECT A.*, ROWNUM RN 
    FROM ($sql) A 
    WHERE ROWNUM < $start+$pagesize
    )
    WHERE RN >= $start
    SQL;$sqls 就是最终执行的查询语句
      

  2.   

    理解了,原来我的问题在于 不知道给union 的结果取个别名,谢谢版主大人~~最后结合百度 我是这样写的SELECT * FROM (
         SELECT  * , ROW_NUMBER() OVER (ORDER BY A DESC) AS rn
              FROM  ($sql)  AS s1
    )AS s2  where rn between $from and $to